【发布时间】:2021-08-10 10:02:15
【问题描述】:
背景:我不想在 java 常量文件中硬编码属性,因为每次我想更改为 property_value 之一时,我都必须再次构建和部署整个代码。我什至不想将它们保存在 application.yaml/application.properties 文件中,因为我的属性数量庞大(100 个)。所以,我决定在 oracle DB 的属性表中维护属性。
我可以想到两种方法:
- 在需要时通过触发 sql 查询读取属性值。
- 在启动应用程序时加载所有/部分属性,并通过缓存它们获得全局访问点。
由于我一开始就需要很少的属性,所以我想使用方法 2。
我想选择单例 bean,但这需要我一开始就知道所有的键(属性名称),并且使单例看起来很丑,有 100 个成员变量。在这里,我打算使用 spring bean 的预构造函数来触发查询。这里的主要问题是每次我从属性表中添加/删除属性时都需要更改 bean。
我能想到的另一种方法是使用 Map
非常感谢任何更好的方法!
在此先感谢
【问题讨论】:
标签: java spring-boot