Недопустимое свойство класса EJB недоступно для записи или недопустимый метод установки
Это может выглядеть как дубликат этого вопроса. Но это другое. Я пытался реорганизовать свой прежний код с помощью метода инъекций весной.
У меня есть 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
<bean id="session" class="javax.mail.Session" scope="prototype" />
<bean id="mailMessageSender" class="org.abc.MailMessageSender">
<lookup-method name="createSession" bean="session"/>
</bean>
Я получаю недопустимую ошибку свойства при установке проекта.
1 ответ
Вы не можете ввести статическое поле, измените свою переменную в Context.java, сделайте так:
private MessageSender messageSender;
//...
public MessageSender getMessageSender(){
return messageSender;
}