如何使用Spring注入在那不遵循Java bean的规范制定者的目标?(How to use Sp

2019-09-21 19:03发布

我试图用弹簧和WX-XMLRPC在一起。 问题是, XmlRpcClient有一个调用setConfig() ,这并不遵循Java Bean的规范方法:将调节器和吸气不使用相同的类。 所以,春天的时候,我有以下的context.xml投诉:

<bean id="xmlRpcClient" class="org.apache.xmlrpc.client.XmlRpcClient">
    <property name="config">
        <bean class="org.apache.xmlrpc.client.XmlRpcClientConfigImpl">
            <property name="serverURL" value="http://example.net" />
        </bean>
    </property>
</bean>

它说:Bean属性“配置”是不可写无效或者和setter方法。 请问参数类型二传手的配合吸气的返回类型?

有没有一种方法来覆盖? 我知道我可以写这个bean特定的工厂,但在我看来,这是不是最后一次,我发现这样的问题。 我工作了很多与质量可疑的遗留代码...能够使用Spring XML配置有这将是一个很大的帮助!

Answer 1:

写该类一个FactoryBean,并把它调用正确的制定者。



Answer 2:

我不认为有任何的方式来重写此使用Spring XML配置。

到使用工厂一种替代办法是使XmlRpcClient的子类,具有用于XmlRpcClientConfig匹配获取和设置(例如setClientConfig / getClientConfig)。 setClientConfig只会叫super.setConfig。



文章来源: How to use Spring to inject an object in a setter that doesnt follow the Java bean specification?