业务中经常会遇见邮件发送场景,前期处理邮件内容时,想到的就是通过字符串拼接的方式,如下:
String content = "用户[" + user + "]申请访问数据" + project + "请及时处理."
虽说上述处理方式没有大问题,但从系统设计的层面上说,这种方式属于硬编码,后期难以扩展,比如工程中涉及比较多的邮件发送,每种具体的业务都去这么拼接内容,若需要修改邮件描述时,就比较麻烦,不灵活。
我们期望使用配置文件的方式来配置邮件内容,将邮件中的变量定义为转义符。
mail_template.properties
mail.content=用户[{0}]申请访问数据{1}请及时处理.
在完成properties文件定义后,需要在工程启动时,加载配置文件。
@PropertySource("classpath:mail_template.properties")
@Configuration
public class SpringConfigProperty {
@Value("mail.content")
String mailContent;
public String getMailContent() {
return mailContent;
}
}
完成配置文件加载后,就是处理替换逻辑,这里创建一个MessageFormat的工具类,来处理内容替换:
public class MailUtil {
/**
* 替换邮件模板中的占位符{number},获得特定场景中的邮件内容
*
* @param template 邮件模板
* @param params 参数列表
* @return 替换后的邮件内容
* @author XXXX
*/
public static String formatMailContentFromTemplate(String template, List<String> params) {
// 从配置文件中读取模板字符串,并进行占位符替换
return MessageFormat.format(template,params);
}
}
参考:
1、https://blog.csdn.net/lu930124/article/details/71158657
最后
以上就是自觉发箍最近收集整理的关于Java发邮件使用模板实践——替换配置文件中的参数的全部内容,更多相关Java发邮件使用模板实践——替换配置文件中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复