Java 如何处理Spring应用程序配置?
我有一个独立的Spring应用程序,它的设置是DMBS。我有一个想法,当应用程序启动并且应用程序从数据库读取自己的设置时,只使用一个代码(指定特定实例)。设置值然后用于在applicationContext XML文件中创建bean,稍后在bean本身中创建bean 到目前为止(开发阶段),我使用了一个属性文件,并以如下方式读取它:Java 如何处理Spring应用程序配置?,java,spring,configuration,Java,Spring,Configuration,我有一个独立的Spring应用程序,它的设置是DMBS。我有一个想法,当应用程序启动并且应用程序从数据库读取自己的设置时,只使用一个代码(指定特定实例)。设置值然后用于在applicationContext XML文件中创建bean,稍后在bean本身中创建bean 到目前为止(开发阶段),我使用了一个属性文件,并以如下方式读取它: <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfig
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:/taskproducer.properties</value>
</list>
</property>
</bean>
类路径:/taskproducer.properties
在Spring应用程序中,处理数据库设置的最佳方法是什么?您可以创建一个从DB读取道具的configurer bean
class DbProperties extends java.util.Properties {
DbProperties() {
String v1 = ... // read prop from db
setProperty("p1", "v1");
}
}
将其添加到Spring上下文中
...
<context:annotation-config />
<bean id="c1" class="DbProperties" />
<bean id="b1" class="B1"/>
<!--
<context:property-placeholder location="taskproducer.properties" />
-->
<context:property-placeholder properties-ref="c1"/>
你正朝着正确的方向前进。属性文件确实应该包含数据库配置属性 如果您想更进一步,可以使用特定于配置文件的属性文件,例如特定于开发的配置和特定于生产的配置 请看视频,了解关于这个主题的一些很好的说明 编辑:如果我误解了,您需要一些关于如何使用这些属性设置数据库的指导,这是一个基于配置文件属性的SpringXML配置示例 简短介绍:例如,您可以将数据源设置为:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
</bean>
希望这是有帮助的可能重复:可能重复@user2148736,如果其中一个答案适合您的需要,那么如果您可以将该答案标记为正确+upvote:)就好了,而链接非常有用,在我看来,这个答案并不能完全解决所报道的问题。据我所知,他想要一些关于一般使用环境属性的指导。如果我误解了,我很抱歉。添加了一个配置数据库的示例。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
</bean>
database.url=http://localhost:3306/mydb
database.username=sa
database.password=