Spring - 构造函数的方法注入

时间:2017-03-27 04:17:42

标签: java spring dependency-injection

我有以下静态助手方法。我试图通过使用Spring的方法注入来重构这个方法。

public static MessageSender getMessageSender(){
    return new MailMessageSender(getMailSession());
}

//getMailSession() is a private static method which used to refresh 
//and return a Session object to the constructor 

我尝试在这种情况下使用bean,但由于我的方法是静态的,所以它不会起作用。

Here is what I have tried,(asked in a StackOverflow question)

注意:我不清楚如何调用我的getMailSession()并在使用方法注入时将该值传递给MailMessageSender构造函数。

如何使用Spring的方法注入以上方法?

1 个答案:

答案 0 :(得分:1)

更改

<bean id="context" class="org.abc.Context">

   <property name="messageSender"><ref bean="mailMessageSender"/></property>
</bean>

<bean id="context" class="org.abc.Context">

   <property name="messageSender1"><ref bean="mailMessageSender"/></property>
</bean>

,然后

将以下setter方法添加到您的班级org.abc.Context

private void setMessageSender1(MessageSender ms) {
    Context.messageSender = ms;
}