序文
通常、開発を行っているときは、テキストメッセージと電子メールを送信する必要性に遭遇します。多くの場合、顧客は送信コンテンツのテンプレートを提供します。このテンプレートを取得するためにプログラムで文字列をスプライスする場合、それは明らかにチームメイトをだまする方法です。一般に、テンプレートはプロパティファイルに配置され、使用すると変数の一部を置き換えます。
この記事では、スプリングブートを使用して、テンプレートに基づいてSMS検証コードを送信する機能を実装します。以下ではあまり言いません。詳細な紹介を一緒に見てみましょう。
ヒント:
1。正規表現
2。スプリングブートはプロパティファイルを読み取ります
テンプレート定義
application.propertiesと同じディレクトリを使用して、msg.propertiesファイルで定義する必要があるSMSテンプレートを定義します。 [[コード]]の[[コード]]が交換する変数であることに注意してください。
tem.msg.verify.code =検証コードは次のとおりです。[code]、他の人に開示しないでください。
プロパティを読み取ります
コンポーネントMSGCONSTANTSを定義し、ロードするプロパティファイルを指定し、定義されたテンプレートの読み取りに使用し、Springの@Valueアノテーションを使用します
@propertySource( "classpath:msg.properties") @componentpublic class msgconstatns {@value( "$ {tem.msg.verify.code}")private string sendcodemsg; public string getsendCodemsg(){return sendcodemsg; } public void setSendCodemsg(String SendCodemsg){this.sendcodemsg = sendcodemsg; }}テンプレートツールクラスを分析します
共通を考慮すると、マップするパラメーター、つまり交換する必要がある変数を設定し、正規式が対応するキーを置き換えます。ここのキーの形式は次のとおりです。{key}は、自分の状況に応じて変更して、同時に通常を変更できます。
public static string getContent(map <string、string> params、string content){string reg = "// {// w*}"; // pattern = pattern.compile(reg); matcher matcher = pattern.matcher(content); while(matcher.find()){string group = matcher.group(); // string key = group.substring(1、group.length() - 1); if(!params.containskey(key))throw new normorexception( "交換する鍵は見つかりませんでした:" + key); content = content.replace(group、params.get(key)); } return content; }テスト
非常にシンプルなAJAXリクエストが受信したテキストメッセージコンテンツを返します
@retscontroller @requestmapping( "demo")public class democontroller {@resource private msgconstatns msgconstatns; @RequestMapping( "msg")public string msgcontent(){string code = "123456"; //正式な開発では、乱数が一般的に使用されます。 params.put( "code"、code); return sendcodeutil.getContent(params、msgconstatns.getsendcodemsg()); }}結果
期待値:検証コードは123456、他の人に開示しないでください
実際の効果:
要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。