Java发邮件使用模板实践——替换配置文件中的参数
业务中经常会遇见邮件发送场景,前期处理邮件内容时,想到的就是通过字符串拼接的方式,如下:
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发邮件无主题,使用SpringCloud过程中遇到的一些问题
对SpringCloud做一次简单的问题总结. application.yml 和 bootstrap.yml 有何区别? I have just asked the Spring Cloud guy ...
- Java发邮件-QQ服务器认证
2019独角兽企业重金招聘Python工程师标准>>> Java发邮件的几种方式 JavaMail Commons Email Spring Mail JavaMail是Java提供 ...
- 简易的java发邮件客户端
主要是想熟悉一下jigloo插件的使用,所以做了一个发邮件的小程序,其实调用的都是人家的东西,我们自己只做了最简单的傻瓜操作,每思及此,感觉要学的东西还很多. 本人很懒,搞swing那套东西很不给力, ...
- java发邮件的代码
通过java发送邮件的代码 转载请注明出处:java发邮件的代码 package com.zuidaima.util.mail;import java.util.Properties;import j ...
- Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)之二——只改变第一出现的那一行
一.背景 在之前的文章中有介绍过<Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)> 但是这种方法存在一定的问题,就是假如某个变量在一个文件中出现两次,却只想更改 ...
- Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)
背景 项目初期,创业初期,对于部署还停留在比较简单的时期等等...部署代码需要脚本部署,那么不同环境部署代码的配置也不一样,同一个环境下,多个节点的配置不一样.同一个节点中,多个服务会用到同一个配置项 ...
- java从配置文件中读取参数
java从配置文件中读取参数的方式 有的时候我们需要将一些固定的配置信息写到yml文件中去,然后在类中在读取 #首先就得先在yml文件中配置参数 upload:param:"test&quo ...
- java 发邮件 乱码_JavaMail发送中文邮件乱码的解决 | 学步园
我们的程序经常会出现这样一个问题,在WinXp下测试是正常的,而到了服务器(Linux操作系统)上就出现这个问题. 1. 由于邮件我写的程序的邮件主题是写在配置文件(. properties)中 ...
- java发邮件_使用MATLAB自动发邮件
MATLAB作为工程师的得力助手,常被我们誉为万能助手."MATLAB啥都能做,除了生孩子"这种话语常挂在我们嘴边.今天小编就偷偷告诉大家一个使用MATLAB自动发邮件的方法. 在 ...
最新文章
- 记事本写python怎么运行-从头学Python之编写可执行的.py文件
- Linux基础服务_DNS原理以及正反向DNS配置
- 软件工程概论 课堂练习 第3次作业6【流图;计算环形复杂度;找独立路径】
- python美多商城项目百度网盘_美多商城项目(七)
- 调试九法:软硬件错误的排查之道书评
- Kafka Consumer多线程消费
- 算法(2)-二叉树的遍历(递归/迭代)python实现
- 一道笔试题:贿赂选民
- linux权限bcd码是6,Linux权限管理(1)基本权限
- 半深入理解CSS3 object-position/object-fit属性
- 经典的出入库算法(C#实现)
- android三国2,三国演义安卓单机版
- 使用opencv进行车牌提取及识别
- httpclient
- 基于 Verilog 的经典数字电路设计(8)计数器
- PS_1_认识主界面_新建文档(分辨率)_打开保存(序列动画)
- 剖析锂电池的工作原理
- BinaryFormatter serialization and deserialization are disabled within this application
- macbook卡在进度条开不了机_Mac电脑开机一直卡在加载进度条怎么办?
- 编写一个js函数,实时显示当前时间,格式:“年-月-日 时:分:秒”