【发布时间】:2017-06-06 23:14:33
【问题描述】:
我正在开发向客户发送电子邮件的服务。 所有设置,如主机、协议等,以及我存储在 application.properties 中的电子邮件发件人或主题。
我在另一个地方上课:
@ConfigurationProperties(prefix = "email.properties")
public class EmailProperties {
private String sender;
private String subject;
application.properties 中的数据被复制到这个类中,效果很好……
但是我的问题是什么。 我想设置主题,例如:
email.properties.subject=Hello CUSTOMER, thank you for registered.
并在我发送电子邮件时将 CUSTOMER 绑定为具体的客户名称,例如:
Hello Tom Rich, thank you for registered.
所以我在类中添加了 EmailProperties 方法:
String getSubjectWithCustomer(User user){
...}
但我不知道如何为具体用户绑定 CUSTOMER。也许我可以这样做:
String getSubjectWithCustomer(User user){
return subject.replaceAll("CUSTOMER", user.getUserName());
}
但我觉得这是愚蠢的解决方案。我想用更好的东西。也许你有什么想法?也许我可以为此使用SpEL?但我不知道怎么做,因为我到处都发现了如何绑定 XML 文件而不是 aplication.properties 的示例。
也许我可以使用 SpEL 创建一些解析器?
问候。
【问题讨论】:
标签: java properties spring-el