Vorwort
Wenn wir uns entwickeln, werden wir normalerweise auf die Notwendigkeit des Sendens von Textnachrichten und E -Mails stoßen. Der Kunde bietet häufig eine Vorlage für den Senden von Inhalten. Wenn wir Strings im Programm spleißen, um diese Vorlage zu erhalten, ist dies offensichtlich eine Möglichkeit, unsere Teamkollegen zu betrügen. Im Allgemeinen wird die Vorlage in die Eigenschaftendatei platziert und einige der Variablen ersetzt, wenn sie verwendet werden.
In diesem Artikel verwenden wir Springboot, um die Funktion des Sendens von SMS -Verifizierungscodes basierend auf der Vorlage zu implementieren. Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung zusammen an.
Tipps:
1. reguläre Ausdrücke
2. Springboot liest die Eigenschaftendatei
Vorlagendefinition
Definieren Sie die SMS -Vorlagen, die in der Datei msg.properties definiert werden müssen, mit demselben Verzeichnis wie application.Properties. Beachten Sie, dass der [[Code]] darin die Variable ist, die ersetzt werden soll.
tem.msg.verify.code = Der Verifizierungscode ist: [Code], bitte geben Sie ihn nicht an andere weiter.
Eigenschaften lesen
Definieren Sie die Komponenten -MSGConstants und geben Sie die zu geladene Eigenschaftendatei an, zum Lesen der definierten Vorlage verwendet. Verwenden Sie die @Value -Annotation von Spring
@PropertySource ("classPath: msg.properties") @componentpublic class msgConstatns {@value ("$ {tem.msg.verify.code}") private String sendCodemsg; public String getendCodemsg () {return sendCodemsg; } public void setSendCodemsg (String sendCodemsg) {this.sendCodemsg = sendCodemsg; }}Analysieren Sie die Template -Werkzeugklasse
Setzen Sie den gemeinsamen Parameter auf die Zuordnung, dh die Variable, die ersetzt werden muss, und der reguläre Ausdruck ersetzt den entsprechenden Schlüssel. Das Format des Schlüssels hier lautet: {Key}, das gemäß Ihrer eigenen Situation geändert und gleichzeitig den regulären.
public static String getContent (MAP <String, String> Params, String -Inhalt) {String reg = "// {// w*}"; // muster muster = muster.comPile (reg); Matcher Matcher = muster.Matcher (Inhalt); while (matcher.find ()) {String Group = matcher.group (); // String key = Group.substring (1, Group.Length () - 1); if (! params.containsKey (Schlüssel)) werfen neue NormalException ("Es wurde kein Schlüssel zu ersetzen:" + Schlüssel); content = content.replace (Gruppe, params.get (Schlüssel)); } Inhalt zurückgeben; }prüfen
Eine sehr einfache AJAX -Anforderung gibt den empfangenen SMS -Inhalt zurück
@RastController @RequestMapping ("Demo") öffentliche Klasse Democontroller {@resource private msgconstatns msgConstatns; @RequestMapping ("msg") public String msgContent () {String code = "123456"; // In der formalen Entwicklung werden zufällige Zahlen im Allgemeinen verwendet MAP <string, string> params = new Hashmap <> (); params.put ("Code", Code); return sendcodeUtil.getContent (Params, msgconstatns.getSendCodemsg ()); }}Ergebnis
Erwarteter Wert: Überprüfungscode ist: 123456, bitte geben Sie ihn nicht an andere weiter
Tatsächlicher Effekt:
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.