如何使用Spring在抽象类中注入静态方法的局部变量?

问题描述

如果有可能可以让你把userproxyI成静态属性可以通过利用注入他们的MethodInvokingFactoryBean。您将必须提供一个静态的setter方法。让您对配置有所了解:

<bean name="staticHubInitializer" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
        <property name="staticMethod" value="your.AbstractUtilClass.setStaticDependencies"/>
        <property name="arguments">
            <list>
                <ref bean="user"/>
                <ref bean="proxyI"/>
            </list>
       </property>
    </bean>

解决方法

我是Spring的新手,遇到了这个问题。我尝试在该方法上使用@Autowired,但没有成功,在变量上,我从Eclipse中收到错误消息“该位置不允许使用@Autowired注解”。我在xml中创建了所需的bean。

下面是代码,此方法在抽象类内。

private static HttpResponse rawExecuteReqeust(HttpUriRequest request) throws ClientProtocolException,IOException {
    HttpClient client = new DefaultHttpClient();
    ProxyInterface proxyI; // needs to be Injected
    User user; // needs to be Injected
    System.out.println("About to execute " + request.getMethod() + " request on        " 
        + request.getURI());
    if (proxyI.getProxyHost() != null && proxyI.getProxyPort() != 0) {
        if (user.getProxyUser() != null && user.getProxyPassword() != null) {
            ((AbstractHttpClient) client).getCredentialsProvider().setCredentials(
                    new AuthScope(proxyI.getProxyHost(),proxyI.getProxyPort()),new UsernamePasswordCredentials(user.getProxyUser(),user.getProxyPassword()));
        }
        HttpHost proxy = new HttpHost(proxyI.getProxyHost(),proxyI.getProxyPort(),"http");
        client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
    }
    HttpResponse response = client.execute(request);
    return response;
}

(ps我是stackOverflow的新手,希望我正确格式化了问题:))

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...