Prefacio
Por lo general, cuando estamos haciendo desarrollo, encontraremos la necesidad de enviar mensajes de texto y correos electrónicos. El cliente a menudo proporciona una plantilla para el contenido de envío. Si empalmamos cadenas en el programa para obtener esta plantilla, obviamente es una forma de engañar a nuestros compañeros de equipo. En general, la plantilla se coloca en el archivo de propiedades y reemplaza algunas de las variables cuando se usa.
En este artículo, utilizamos SpringBoot para implementar la función de enviar códigos de verificación SMS basados en la plantilla. No diré mucho a continuación, echemos un vistazo a la introducción detallada juntos.
Consejos:
1. Expresiones regulares
2. SpringBoot lee el archivo de propiedades
Definición de plantilla
Defina las plantillas SMS que deben definirse en el archivo MSG.Properties, con el mismo directorio que Application.Properties. Tenga en cuenta que el [[Código]] es la variable que se reemplazará.
tem.msg.verify.code = El código de verificación es: [código], no lo divulgue a otros.
Leer propiedades
Defina los msgconstants de componentes, especifique el archivo de propiedades que se cargará, se usa para leer la plantilla definida, use la anotación @Value de Spring
@PropertySource ("classpath: msg.properties") @componentPublic clase msgconstatns {@Value ("$ {tem.msg.verify.code}") String private SendCodemSg; cadena pública getSendCodemSg () {return sendCodemSg; } public void setSendCodemSg (String sendCodemsg) {this.sendCodemSg = sendCodemSg; }}Analizar la clase de herramienta de plantilla
Teniendo en cuenta lo común, establezca el parámetro en el mapa, es decir, la variable que debe reemplazarse, y la expresión regular reemplaza la clave correspondiente. El formato de la clave aquí es: {Key}, que puede modificarse de acuerdo con su propia situación y modificar el regular al mismo tiempo.
public static string getContent (map <string, string> params, string content) {string reg = "// {// w*}"; // patrón patrón = patrón.compile (reg); Matcher matcher = patrón.matcher (contenido); while (matcher.find ()) {string group = matcher.group (); // string key = group.substring (1, group.length () - 1); if (! params.containskey (key)) tire nueva normalexception ("No se encontró una clave para ser reemplazada:" + clave); content = content.replace (group, params.get (key)); } contenido de retorno; }prueba
Una solicitud AJAX muy simple devuelve el contenido de mensaje de texto recibido
@RestController @requestmapping ("demo") public class Democontroller {@Resource private msgconstatns msgconstatns; @RequestMapping ("msg") public String msgContent () {String Code = "123456"; // En el desarrollo formal, los números aleatorios generalmente se usan MAP <String, String> Params = new HashMap <> (); params.put ("código", código); return sendCodeUtil.getContent (params, msgconstatns.getSendCodemSg ()); }}resultado
Valor esperado: el código de verificación es: 123456, por favor no lo revele a otros
Efecto real:
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.