this questionの重複のように見える場合があります。しかし、これは異なっています。 私は春にメソッドインジェクションを使用してレガシーコードをリファクタリングしようとしていました。Beanクラスの無効なプロパティが書き込み可能でないか、無効なセッターメソッド
私は多くの静的ヘルパーメソッドを含むBeanクラスを持っています。私の目標と方法は、以下のように:
Context.java
をprivate static MessageSender messageSender;
//...
public static MessageSender getMessageSender(){
return messageSender;
}
コンテキスト豆
<bean id="context" class="org.abc.Context">
<property name="messageSender"><ref bean="mailMessageSender"/></property>
</bean>
MailMessageSender.java
public abstract class MailMessageSender{
protected abstract Session createSession();
//using createSession() somewhere in this class
}
MailMessageSender豆
<bean id="session" class="javax.mail.Session" scope="prototype" />
<bean id="mailMessageSender" class="org.abc.MailMessageSender">
<lookup-method name="createSession" bean="session"/>
</bean>
私はプロジェクトをインストールしていたとき、私は無効なプロパティのエラーを取得しています。
するmessageSenderはプロパティではありません。これは静的なフィールドです。静的フィールドを挿入することはできません。 –