Spring MVC在类'xxxx'中找不到属性'xxxx'的setter

时间:2015-07-27 13:10:00

标签: java eclipse spring spring-mvc

我在com.rusapp.batch.trans.OLFMWriter类中找到四个'找不到属性'xxxx'的setter'。该类中的第五个bean没有错误inputQueue。其余的属性行下面的xml中都有错误。

豆子显示如下:

<bean id="inputQueue" class="com.rusapp.batch.trans.OLFMWriter">
    <property name="inputQueue" value="${${ENV}_MQ_FM_INPUT_QUEUE}" />
</bean>

<bean id="replyQueue" class="com.rusapp.batch.trans.OLFMWriter">
    <property name="replyQueue" value="${${ENV}_MQ_FM_REPLY_QUEUE}" />
</bean>

<bean id="mqConnectionFactory" class="com.rusapp.batch.trans.OLFMWriter">
    <property name="mqConnectionFactory" ref="mqConnection" />
</bean>

<bean id="JMSDestination"
    class="com.rusapp.batch.trans.OLFMWriter">
    <property name="JMSDestination" ref="jmsDestinationResolver" />
</bean>

<bean id="JMSReplyTo"
    class="com.rusapp.batch.trans.OLFMWriter">
    <property name="JMSReplyTo" ref="jmsDestinationResolverReceiver" />
</bean>

班级中的设定者显示如下:

public static void setMqConnectionFactory(MQConnectionFactory _mqConnectionFactory) {
    OLFMWriter._mqConnectionFactory = _mqConnectionFactory;
}
public static void setReplyQueue(String _replyQueue) {
    OLFMWriter._replyQueue = _replyQueue;
}
public static void setJMSDestination(Destination _JMSDestination) {
    OLFMWriter._JMSDestination = _JMSDestination;
}
public static void setJMSReplyTo(Destination _JMSReplyTo) {
    OLFMWriter._JMSReplyTo = _JMSReplyTo;
}
public void setInputQueue(String inputQueue){
    _inputQueue = inputQueue;
}

这不是我的代码,我对Spring知之甚少,但我发现setter名称没有任何问题。我认为这是一个工作空间错误,但它们已经持续了几次重启Eclipse。

任何人都可以通过此代码找到任何明显的错误吗?

1 个答案:

答案 0 :(得分:3)

你的setter是静态的,这意味着它们不符合java bean规范。

我想你会想要使用MethodInvokingFactorybean

<bean abstract="true" id="abstractParent" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property name="targetClass" value="com.rusapp.batch.trans.OLFMWriter"/>
</bean>
<bean id="inputQueue" parent="abstractParent">
    <property name="staticMethod" value="setInputQueue" />
    <property name="arguments">
        <list><value>${${ENV}_MQ_FM_INPUT_QUEUE}</value></list>
    </property>
</bean>
<bean id="replyQueue" parent="abstractParent">
    <property name="staticMethod" value="setReplyQueue" />
    <property name="arguments">
        <list><value>${${ENV}_MQ_FM_REPLY_QUEUE}</value></list>
    </property>
</bean>
etc...