Java 如何通过Spring framework(v4.0.3)从数据库加载应用程序属性
我试图弄清楚如何通过Spring(4.0.3)从数据库表加载所有应用程序属性。现在,我的应用程序有一组属性文件(大约十几个)。对于每个环境,这些属性文件都是重复的(不是值)。采取以下行动: config.jarJava 如何通过Spring framework(v4.0.3)从数据库加载应用程序属性,java,spring,Java,Spring,我试图弄清楚如何通过Spring(4.0.3)从数据库表加载所有应用程序属性。现在,我的应用程序有一组属性文件(大约十几个)。对于每个环境,这些属性文件都是重复的(不是值)。采取以下行动: config.jar 发展 无误代码.属性 外部代码。属性 report.properties email.properties 试验 无误代码.属性 外部代码。属性 report.properties email.properties 刺激 无误代码.属性 外部代码。属性 report.prop
- 发展
- 无误代码.属性
- 外部代码。属性
- report.properties
- email.properties
- 试验
- 无误代码.属性
- 外部代码。属性
- report.properties
- email.properties
- 刺激
- 无误代码.属性
- 外部代码。属性
- report.properties
- email.properties
<util:properties id="inboundErrorCodes"
location="classpath:config/${spring.profiles.active}/inErrCodes.properties"/>
<util:properties id="outboundErrorCodes"
location="classpath:config/${spring.profiles.active}/outErrCodes.properties"/>
<util:properties id="reportProperties"
location="classpath:config/${spring.profiles.active}/report.properties"/>
<util:properties id="emailProperties"
location="classpath:config/${spring.profiles.active}/email.properties"/>
还有几个其他的警告。errorCodes文件中的某些属性具有相同的密钥。比如说
inErrorCodes.properties
error.code.1001=bad file name.
outErrCodes.properties
error.code.1001=bad header info.
理想情况下,所有密钥在所有文件中都是唯一的,但这是一个遗留应用程序。所以我希望实现的是拥有一个数据库表(来自所有环境的jndi,本地除外,它只是一个数据源)。该表可能看起来像(表名=应用程序属性)
还有几件事。我更喜欢使用注释而不是xml配置。我想找到一种方法使属性可以重新加载。如果数据库中更新了其中一个值,那么如果我可以调用Spring函数来重新加载,或者甚至调用一些池机制,那就太好了。当然,这可以代替重新启动应用程序。此外,上面提到的${spring.profiles.active}是一个JVM变量(在应用服务器控制台中设置),必须在每个环境中设置。任何指点都将不胜感激。我在Spring@PropertySource上搜索了很多,但找不到任何与我尝试的内容相关的内容
再次感谢,我希望这能对您有所帮助,它不适用于4.0.3,但可以工作
我希望这能对您有所帮助,它不适用于4.0.3,但可以工作
非常感谢您为我指出此资源。这无疑有助于我更好地理解如何连接属性文件和数据库表中的属性。我希望通过注释完成大部分spring配置。关于PropertySource Spring注释有什么想法吗?再次感谢您的帮助。非常感谢您为我指出此资源。这无疑有助于我更好地理解如何连接属性文件和数据库表中的属性。我希望通过注释完成大部分spring配置。关于PropertySource Spring注释有什么想法吗?再次感谢你的帮助。
inErrorCodes.properties
error.code.1001=bad file name.
outErrCodes.properties
error.code.1001=bad header info.
id key value category
== =============== ============= ============
1 error.code.1001 bad file name. inErrorCodes
2 error.code.1001 bad header info. outErrorCodes
3 default.subject Successful order email
4 sales.title NE Sales Region report