0
1つのSpring Beanのプロパティを使用して別のBeanの親属性を設定できますか?1つのSpring Beanの親属性を別のBeanのプロパティに設定するにはどうすればよいですか?
バックグラウンド情報として、Springの設定を大きく変更することなく、コンテナ提供のデータソースを使用するようにプロジェクトを変更しようとしています。
試験したとき、私は春の豆の設定<!-- new -->
<bean id="springPreloads" class="sample.SpringPreloads" />
<!-- How do I set the parent attribute to a property of the above bean? -->
<bean id="abstractDataSource" class="oracle.jdbc.pool.OracleDataSource"
abstract="true" destroy-method="close" parent="#{springPreloads.dataSource}">
<property name="connectionCachingEnabled" value="true"/>
<property name="connectionCacheProperties">
<props>
<prop key="MinLimit">${ds.maxpoolsize}</prop>
<prop key="MaxLimit">${ds.minpoolsize}</prop>
<prop key="InactivityTimeout">5</prop>
<prop key="ConnectionWaitTimeout">3</prop>
</props>
</property>
</bean>
例外の
package sample;
import javax.sql.DataSource;
public class SpringPreloads {
public static DataSource dataSource;
public DataSource getDataSource() {
return dataSource;
}
//This is being set before the Spring application context is created
public void setDataSource(DataSource dataSource) {
SpringPreloads.dataSource = dataSource;
}
}
関連ビットを使用するプロパティを持つ
単純なクラス
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '#{springPreloads.dataSource}' is defined
私は上から春ELを削除する場合は、または私はこれを取得:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springPreloads.dataSource' is defined
ここで何をしようとしているのかわかりません。親は、テンプレートの設定です。これは、abstractDataSource Beanとは異なるクラスです。あるBeanから別のBeanに属性を挿入するための素晴らしい "トリック"がありますが、それはあなたの後ろのものとは思われません。 – Adam