我很难为我的应用程序配置数据源。 DriverManagerDataSource无法从属性文件中读取属性。
以下是applicationContext.xml的相关部分: -
<bean id="selfPublishProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:selfpublish-dev.properties</value>
<value>classpath:jdbc-dev.properties</value>
</list>
</property>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}"/>
错误消息只是说无法加载驱动程序$ {jdbc.driverClassName}。 jdbc-dev.properties有这样的条目: -
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
它还有其他条目,如用户名,密码等,但spring在driverClassname本身失败。
如果我把这行放在applicationContext.xml中,那就没关系了: -
<context:property-placeholder properties-ref="selfPublishProperties" />
但这不是我想要做的。我想仅使用PropertiesFactoryBean配置我的数据源,而不是使用PropertyPlaceHolderConfigurer。 谢谢你的帮助!
答案 0 :(得分:0)
这似乎是它应该如何工作的。 PropertySourcePlaceHolderConfigurer应该解析$ {...}占位符,而PropertiesFactoryBean公开java.util.Properties实例。
以下是相关的文档链接: -