私はfaces-configからSpringに切り替えており、あるBeanから別のBeanにプロパティを渡す方法を知りたいと思っています。
例えば
<bean id="myBean" class="Bean1">
</bean>
<bean id="myBean2" class="Bean2">
<constructor-arg ref="#{myBean1.value}"/>
</bean>
私はfaces-configからSpringに切り替えており、あるBeanから別のBeanにプロパティを渡す方法を知りたいと思っています。
例えば
<bean id="myBean" class="Bean1">
</bean>
<bean id="myBean2" class="Bean2">
<constructor-arg ref="#{myBean1.value}"/>
</bean>
スプリングエルをサポートするスプリング3.0にアップグレード
まず最初に、DIコンテナの目的は、実行前にシステムを完全に初期化することです。つまり、すべての依存関係が設定され、アプリを実行する準備が整います。
Springには同様の目的で@propertyアノテーションと@valueアノテーションの両方がありますが、他のBeanに特定のBeanプロパティ値を使用する場合、最良の解決策は次のようになります。
<bean id="myBean" class="Bean1">
</bean>
<bean id="myBean2" class="Bean2">
<constructor-arg ref="myBean"/>
</bean>
依存関係を確立せずに、インスタンス化時に値を設定するだけでよいと主張する場合は、DI部分をスキップして、値を直接設定します。