我尝试创建一个电子邮件实用程序,它需要一些服务器属性。 所以我想创建一个包并让应用程序使用它。如果应用程序指定电子邮件实用程序的属性,它应该可以正常工作。如果应用程序不这样做,那么通过使用电子邮件实用程序中的默认属性,它也应该可以正常工作。这意味着应用程序不需要为该实用程序指定电子邮件属性。
由于应用程序是spring mvc或spring系列,是否可以使用spring注释@Value来做到这一点?或者最佳实践是什么?
示例: 应用程序:A,EmailUtils:E,属性:P
- A 使用 E,而 A 中没有给定 P。使用 E 中的 P。
- A 将 E 与 A 中给定的 P 一起使用。使用 A 中的 P。
ps:我不想在 util 中硬编码属性,然后覆盖它,甚至将它们传递给构造函数。
最佳答案
只需将其默认为 EmailUtils 中的值注释即可
@Value("${some.key:my default value}")
private String stringWithDefaultValue;
关于java - 如何将库中的值连接为默认值并在应用程序显式定义属性后覆盖它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51191258/