这是一个在采访中提出的问题。 问题是bean有一些我们在.xml文件中配置的属性,然后我们注入它但是让我们说不知道不同Beans的属性或属性会有所不同。那么我们如何制作该bean以便我们能够在运行时配置它?
答案 0 :(得分:0)
我认为将bean值外部化,例如:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:com/foo/jdbc.properties</value>
</property>
</bean>
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
然后按照包含jdbc.properties
文件的示例:
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://production:9002
jdbc.username=sa
jdbc.password=root
可以在运行时配置属性