머리말
일반적으로 개발을 수행 할 때 문자 메시지와 이메일을 보내야 할 필요성이 있습니다. 고객은 종종 전송 컨텐츠를위한 템플릿을 제공합니다. 우리 가이 템플릿을 얻기 위해 프로그램의 끈을 분할한다면, 그것은 우리 팀원들을 속이는 방법입니다. 일반적으로 템플릿은 속성 파일에 배치되며 사용될 때 일부 변수를 교체합니다.
이 기사에서는 SpringBoot를 사용하여 템플릿을 기반으로 SMS 검증 코드를 전송하는 기능을 구현합니다. 아래에서 많이 말하지 않겠습니다. 자세한 소개를 함께 살펴 보겠습니다.
팁 :
1. 정규 표현
2. SpringBoot는 속성 파일을 읽습니다
템플릿 정의
Application.Properties와 동일한 디렉토리를 사용하여 MSG.properties 파일에 정의 해야하는 SMS 템플릿을 정의하십시오. [[Code]]는 교체 할 변수입니다.
tem.msg.verify.code = 확인 코드는 다음과 같습니다. [Code], 다른 사람에게 공개하지 마십시오.
속성을 읽으십시오
구성 요소 MsgConstants 정의,로드 할 속성 파일을 지정하고 정의 된 템플릿을 읽는 데 사용하고 스프링의 @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 = pattern.compile (reg); 매치기 매치 자 = Pattern.Matcher (컨텐츠); while (mayser.find ()) {String group = matcher.group (); // String key = group.substring (1, group.length () -1); if (! params.containskey (key)) 새 normalexception을 던지십시오 ( "교체 할 키가 없음 :" + key); content = content.replace (그룹, params.get (키)); } 반환 컨텐츠; }시험
매우 간단한 Ajax 요청이 수신 된 문자 메시지 내용을 반환합니다.
@restController @requestMapping ( "DEMO") 공개 클래스 DemoController {@Resource private msgconstatns msgconstatns; @requestmapping ( "msg") public string msgcontent () {문자열 코드 = "123456"; // 공식 개발에서 임의 숫자는 일반적으로 맵 <string, string> params = new Hashmap <> (); params.put ( "코드", 코드); return sendCodeUtil.getContent (params, msgconstatns.getSendCodemSg ()); }}결과
예상 값 : 확인 코드는 : 123456, 다른 사람에게 공개하지 마십시오.
실제 효과 :
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.