国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

spring boot使用properties定義短信模板的方法教程

2024-07-13 10:16:36
字體:
來源:轉載
供稿:網友

前言

通常我們做開發時候會遇到短信發送郵件發送之類的需求,發送內容往往會由客戶提供一個模板,如果我們是在程序里拼接字符串來搞定這個模板,很明顯是一種坑隊友的做法。一般將模板放入properties文件中,使用的時候替換其中的一些變量即可。

本文我們使用springboot來實現根據模板發送短信驗證碼的功能,下面話不多說了,來一起看看詳細的介紹吧。

tips:

1、正則表達式

2、springboot讀取properties文件

模板定義

將需要定義的短信模板都定義在msg.properties文件,目錄同application.properties,注意其中的【[code]】即為要替換的變量。

tem.msg.verify.code=驗證碼為:[code],請勿泄露給其他人。

讀取properties

定義組件MSGConstants,指定需要加載的properties文件,用來讀取定義的模板,使用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; }}

解析模板工具類

考慮到公用,將參數設置為Map,即需要替換的變量,正則表達式替換找到對應的key,我這里key的格式為:{key},可根據自己情況進行修改,同時修改正則。

 public static String getContent(Map<String, String> params,String content) {  String reg = "//{//w*}";//  Pattern 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 NormalException("未找到需要替換的key:" + key);   content = content.replace(group, params.get(key));  }  return content; }

測試

一個很簡單的ajax請求,返回獲取到的短信內容

@RestController@RequestMapping("demo")public class DemoController { @Resource private MSGConstatns msgConstatns; @RequestMapping("msg") public String msgContent(){  String code = "123456";//正式開發中一般采用隨機數  Map<String,String> params = new HashMap<>();  params.put("code",code);  return SendCodeUtil.getContent(params,msgConstatns.getSendCodeMsg()); }}

結果

期望值:驗證碼為:123456,請勿泄露給其他人

實際效果:

spring,boot,模板,springboot,properties,短信模板

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商都县| 团风县| 大城县| 老河口市| 吉木乃县| 太仓市| 海盐县| 佛学| 瓦房店市| 林芝县| 嘉义市| 隆回县| 巨鹿县| 浮梁县| 吴忠市| 开化县| 太康县| 铜梁县| 福安市| 汨罗市| 四平市| 太仆寺旗| 长海县| 德清县| 南阳市| 大安市| 宁强县| 滁州市| 萨迦县| 泽州县| 蓬莱市| 广元市| 安龙县| 鹤庆县| 萨迦县| 上蔡县| 丰都县| 宿州市| 长汀县| 新田县| 香格里拉县|