如何修改java属性文件中的值
我有一个config.properties文件,其中包含可配置的属性,例如在tomcat上部署的webapp中的数据库连接详细信息.例如
local.driver: com.mysql.jdbc.Driver local.username:myuser local.password:mypass dev.driver: com.mysql.jdbc.Driver dev.username:mydevuser dev.password:mydevpass 我可以使用spring Environment对象或@Value从config.properties中检索值. 注 – 我在SO上看到的所有答案都讨论了在java代码中更改这些属性.我不想这样做,我希望能够独立于应用程序代码配置这些值. 谢谢 解决方法
您可以查看
spring profiles以加载特定环境的特定文件.
或者,您还可以使用JNDI属性或容器中设置的环境属性参数化从应用程序上下文中加载属性的文件. 例: <context:property-placeholder ignore-unresolvable="true" location="${env.config.file:classpath*:META-INF/spring/profiles/dev/dev.properties}" /> 启动它时,可以使用-Denv.config.file =在容器级别(比如Tomcat)设置env.config.file.通过这样做,Spring自动在系统中找到属性并替换它.如果未明确设置它(例如,在dev中可能使用其他容器,例如jetty),它将使用给定的默认值(在此示例中为dev.properties). 通过将属性文件放在war / ear之外,可以随意更改它们,并且只需要重新启动上下文.或者,您可以查看可重新加载的属性占位符.如果您不希望明确存储在战争中的密码,这也会有所帮助. 要加密属性文件中的信息,如果您使用的是Spring 3,还可以检查:http://www.jasypt.org/spring3.html. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |