我正在嘗試設置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