java – 使用MethodInvokingFactoryBean设置非常规bean

我正在尝试设置HostConfiguration bean.它拥有的一个属性叫做proxyHost.但是,apache HostConfiguration类不遵循java bean约定. proxyHost的setter接受类型ProxyHost的参数,而getter返回String.

我在applicationContext.xml中有以下代码段.

    java.lang.String" value="myproxy.com" />
        figuration" class="org.apache.commons.httpclient.HostConfiguration">
         

当我尝试为应用程序加载applicationContext时,我得到以下错误,因为HostConfigurationClass没有返回ProxyHost的getProxyHost或带有字符串的setter: –

org.springframework.beans.NotWritablePropertyExcep tion: Invalid property ‘proxyHost’ of bean class [org.apache.commons.httpclient.HostConfiguration]: Bean property ‘proxyHost’ is not writable or has an invalid setter method: Does the parameter type of the setter match the return type of the getter?

在springource论坛上搜索时,我遇到了thread,建议使用MethodInvokingFactoryBean解决这个问题.

我不确定使用MethodInvokingfactorybean会有什么帮助,因为我需要从getProxyHost()方法返回类型的ProxyHost来解决这个问题,对吧?而且我不确定如何在这种情况下使用它.我不清楚MethodInvokingfactorybean的内部.因此,如果有人可以请在上面的上下文中给我一个例子,如何使用MethodInvokingfactorybean,这将是非常有帮助的.

这通常是设置像HostConfiguration这样的bean在春天不遵循惯例的公认方式吗?

谢谢!

最佳答案
首先,实例化ProxyHost
(即ProxyHost proxyHost = new ProxyHost(“myproxy1.com”,8080);

java.lang.String" value="myproxy1.com" />
        

然后实例化HostConfiguration对象
(即HostConfiguration hostConfiguration = new HostConfiguration();

figuration" class="org.apache.commons.httpclient.HostConfiguration" />

之后,使用MethodInvokingfactorybean在HostConfiguration上调用setProxyHost()并将proxyHost作为参数传递.
(即hostConfiguration.setProxyHost(proxyHost);)

 fig.MethodInvokingfactorybean">
            etobject">
                figuration"/>
            getmethod">
                

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...