我有下面的代码,其中我有2个客户机x和y客户机(为简单起见,通用名称),我通过 MethodInvokingFactoryBean
(静态方法调用)
我一直在努力理解为什么当 ClientProvider
变量仅定义为 static
? 如果我把它拆下来就可以了 static
关键字
我知道,声明变量 static
以及 final
两者都不允许(因为它是一个示例,最后一个变量可以声明一次)。但为什么我不能只保持变量 static
?
public class ClientProvider {
private static XClient xclient;
private static YClient yclient;
if (condition) {
return xclient;
} else {
return yclient;
}
private static getXClient() {
return clientBuilder.build();
}
private static getYClient() {
return clientBuilder.build();
}
}
我的bean xml文件如下所示
// fully qualified names are provided in actual code
<bean id="ClientProvider" class="ClientProvider">
<constructor-arg index="0" ref="xclient"/>
<constructor-arg index="1" ref="xclient"/>
</bean>
<bean id="xclient" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod">
<value>ClientProvider.getXClient</value>
</property>
</bean>
<bean id="yclient" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod">
<value>ClientProvider.getYClient</value>
</property>
</bean>
暂无答案!
目前还没有任何答案,快来回答吧!