clsA という ManagedBean があります。この clsA には、DI で満たされる BOC オブジェクトがあります。clsA の構築中に BOC を呼び出したい場合は、clsA コンストラクターで実行します。コードは次のようになります。
@ManagedBean(name="clsA")
public class ClsA {
private BOC boc;
public clsA(BOC theBoc) {
theBoc.doFuncA();
}
public String doFuncD() { return ""; }
}
そして、Spring 構成には次のようになります。
<bean id="theBoc" class="com.foo.BOC"/>
<bean id="clsA" class="com.foo.clsA">
<constructor-arg value="theBoc"/>
</bean>
ここで、Spring 構成内で Bean を宣言すると、Spring 構成内で宣言されたものと同じ名前clsAの JSF Beanが機能しないという問題が見つかりました。JSF からclsA呼び出すと、get 呼び出しではないことを意味します。Spring 宣言doFuncD()を削除すると、JSF Beanは正常に動作します。clsAclsA
managedBeanClsAコンストラクターから BOC を呼び出すより良い方法はありますか?