java - 如何将库中的值作为默认值连接并在应用程序明确定义属性后覆盖它
问题描述
我试图创建一个电子邮件工具,它需要一些服务器属性。所以我想创建一个包并让应用程序使用它。如果应用程序为电子邮件实用程序指定属性,它应该可以正常工作。如果应用程序不这样做,它应该也可以通过使用电子邮件实用程序中的默认属性来正常工作。这意味着应用程序不需要为该实用程序指定电子邮件属性。
由于应用程序是spring mvc或spring系列,是否可以使用spring注释@Value来做到这一点?或者它的最佳实践是什么?
示例:应用程序:A,EmailUtils:E,属性:P
- A use E without given P in A. 使用 E 中的 P。
- A use E with given P in A. P in A 被使用。
ps:我不想在util中硬编码属性然后覆盖它,甚至将它们传递给构造函数。
解决方案
只需将其默认设置在 EmailUtils 中的值注释上
@Value("${some.key:my default value}")
private String stringWithDefaultValue;
推荐阅读
- d3.js - D3 根据条件填充不同颜色的区域
- reactjs - 使用 Redux 和 Redux-Observable 中间件处理异步 Http 请求的经验
- html - 个人资料卡 HTML
- c# - 使用表格格式发送邮件,就像在 csharp 中使用 smtp 的 Flipkart 发票邮件一样
- html - Angular - 滚动到元素的底部
- python - re groupdict:是否可以指定值类型?
- azure - OSError: [Errno 28] 使用 Azure Shell 时设备上没有剩余空间
- c# - 无法弄清楚控制器的路由是如何工作的
- java - bash 中的 Java 哈希函数
- php - Laravel 排序将日期附加到分页