我有以下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
属性