工厂方法的春季注释



我有以下oracle连接池工厂定义。问题是我必须将整个工厂实例注入bean,或者我可以将OracleConnectionPoolDataSource注入bean?

    <bean id="oraclePooledDataSourceFactory" class="oracle.ucp.jdbc.PoolDataSourceFactory" factory-method="getPoolDataSource">
    <!-- DataSource Class to be used -->
    <property name="connectionFactoryClassName" value="oracle.jdbc.pool.OracleConnectionPoolDataSource"/>
    <!-- Connection -->
    <property name="URL">
        <value>${jdbc.connection.url}</value>
    </property>
    <property name="user">
        <value>${jdbc.connection.username}</value>
    </property>
    <property name="password">
        <value>${jdbc.connection.password}</value>
    </property>

bean注释:??

    @Autowired
@Required
@Qualifier("oraclePooledDataSource") <------ ????
public void setDatabaseSource(OracleConnectionPoolDataSource databaseSource) {
    this.databaseSource = databaseSource;
}

我希望这有效...从oraclePooledDataSourceFactory定义中删除出厂方法,并引入另一个BEAN定义。

<bean id="oraclePooledDataSource" factory-bean="oraclePooledDataSourceFactory"
  factory-method="getPoolDataSource"/>

在您的班级中,自动关键在于您提到的方式。我不确定您是否需要@Required属性

最新更新