Java 通过工厂bean重写spring数据源属性

Java 通过工厂bean重写spring数据源属性,java,spring,datasource,javabeans,Java,Spring,Datasource,Javabeans,我在我的spring应用程序上下文中配置了db,如下所示: <bean id="dataSource" class="org.springframework.jdbc.datasource.SingleConnectionDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"

我在我的spring应用程序上下文中配置了db,如下所示:

<bean id="dataSource" 
class="org.springframework.jdbc.datasource.SingleConnectionDataSource">
    <property name="driverClassName" 
value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="${uri}"/>
    <property name="username" value="${user}"/>
    <property name="password" value="${password}"/>
</bean>
更新的bean是:

<bean id = "customDatasource" class = "CustomDataSource" />
<bean id = "datasource" 
 factory-bean = "customDatasource" factory-method = "createDataSource">
 <property ... />
</bean>  

但是我无法将xml文件中的值传递给自定义bean,
知道我做错了什么吗?注意:basicdatasource的类型为:org.apache.commons.dbcp2

如果您的问题与安全相关,您可以使用jasypt解码密码并在XML配置中设置它,而不是手动执行此操作。我已经有一个自定义加密。我看不出您如何将属性设置为
customDatasource
bean.target.setPassword(password)。由于密码是从应用程序上下文xml作为属性传递的,因此它应该在customDatasource right?中可用。从您的帖子中,我看到了这篇
,因此我不知道您如何设置您在此处声明的
用户名
密码
属性,除非您发布的代码不完整。
<bean id = "customDatasource" class = "CustomDataSource" />
<bean id = "datasource" 
 factory-bean = "customDatasource" factory-method = "createDataSource">
 <property ... />
</bean>