我正在尝试设置HostConfiguration bean。其中一个物业叫做proxyHost
。但是,Apache HostConfiguration类不遵循java bean约定。 proxyHost的setter接受ProxyHost类型的参数,而getter返回String。使用MethodInvokingFactoryBean设置非常规bean
我的applicationContext.xml
中有以下代码片段。
<bean id="proxyHost" class="org.apache.commons.httpclient.ProxyHost">
<constructor-arg index="0" type="java.lang.String" value="myproxy.com" />
<constructor-arg index="1" type="int" value="8087" />
</bean>
<bean id="hostConfiguration" class="org.apache.commons.httpclient.HostConfiguration">
<property name="proxyHost" ref="proxyHost" />
</bean>
当我尝试加载ApplicationContext以应用程序,我得到,因为HostConfigurationClass
以下错误没有一个getProxyHost
返回一个ProxyHost的或,需要一个String一个setter: -
组织。 springframework.beans.NotWritablePropertyExcep tion:Bean类的无效属性'proxyHost'[org.apache.commons.httpclient.HostConfiguration]:Bean属性'proxyHost'不可写或具有无效的setter方法:setter的参数类型是否匹配getter的返回类型?
虽然对我碰到这个thread来到那里它被推荐使用MethodInvokingFactoryBean解决这个SpringSource的论坛搜索。
我并不确定如何使用MethodInvokingFactoryBean
会有帮助,因为我需要从方法getProxyHost()
中返回ProxyHost
来解决此问题,对吧?而且我也不确定如何在这种情况下使用它。我不清楚MethodInvokingFactoryBean
的内部结构。因此,如果有人可以请给我一个例子在上述的情况下如何使用MethodInvokingFactoryBean
这将是巨大的帮助。
另外,这通常是可以接受的方式来建立像HostConfiguration
豆不遵循春季公约?
谢谢!
可能重复[如何使用Spring注入在那不遵循Java bean的规范制定者的物体?](http://stackoverflow.com/questions/1215048/how -to-使用弹簧对注入-AN-对象功能于一设定器 - 即-犯规-后续的-java的-BEA) – skaffman 2011-03-23 08:51:57