Prefácio
Geralmente, quando estamos fazendo desenvolvimento, encontraremos a necessidade de enviar mensagens de texto e e -mails. O cliente geralmente fornece um modelo para o conteúdo de envio. Se conspirarmos strings no programa para obter esse modelo, é obviamente uma maneira de enganar nossos colegas de equipe. Geralmente, o modelo é colocado no arquivo de propriedades e substitua algumas das variáveis quando usado.
Neste artigo, usamos o Springboot para implementar a função de enviar códigos de verificação de SMS com base no modelo. Não vou dizer muito abaixo, vamos dar uma olhada na introdução detalhada juntos.
Pontas:
1. Expressões regulares
2. Springboot lê o arquivo de propriedades
Definição de modelo
Defina os modelos de SMS que precisam ser definidos no arquivo msg.properties, com o mesmo diretório que o aplicativo.properties. Observe que o [[código]] é a variável a ser substituída.
tem.msg.verifify.code = O código de verificação é: [Código], por favor, não o divulgue a outros.
Leia propriedades
Defina o componente msgConstants, especifique o arquivo de propriedades a ser carregado, usado para ler o modelo definido, use a anotação @value da mola
@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; }}Analisar a classe de ferramentas de modelo
Considerando o comum, defina o parâmetro a ser mapeado, ou seja, a variável que precisa ser substituída e a expressão regular substitui a tecla correspondente. O formato da chave aqui é: {key}, que pode ser modificado de acordo com sua própria situação e modificar o regular ao mesmo tempo.
public static string getContent (map <string, string> params, string content) {string reg = "// {// w*}"; // padrony padrão = padring.compile (reg); Matcher Matchaer = Pattern.Matcher (Content); while (matcher.find ()) {string group = matcher.group (); // string key = group.substring (1, group.length () - 1); if (! params.containsKey (key)) lançar nova Normalexception ("Nenhuma chave a ser substituída foi encontrada:" + chave); content = content.replace (grupo, params.get (key)); } retornar conteúdo; }teste
Uma solicitação Ajax muito simples retorna o conteúdo da mensagem de texto recebido
@RestController @requestmapping ("Demo") classe pública Democontroller {@Resource Private msgConsTatns msgConsTatns; @RequestMapping ("msg") public string msgContent () {string code = "123456"; // No desenvolvimento formal, números aleatórios geralmente são usados mapa <string, string> params = new hashmap <> (); params.put ("código", código); retornar sendCodeutil.getContent (params, msgConstatns.getSendCodemsg ()); }}resultado
Valor esperado: o código de verificação é: 123456, por favor, não o divulgue para outros
Efeito real:
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.