Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Springbean注入静态变量?_Java_Spring_Static Members - Fatal编程技术网

Java 如何从Springbean注入静态变量?

Java 如何从Springbean注入静态变量?,java,spring,static-members,Java,Spring,Static Members,如何从Springbean注入静态变量 public class MyClass{ static String str; // how to set value to this variable through Spring } <b>Spring bean</b> <bean id='myclass' class = 'com.so.MyClass'> <property name="str" value="xmlpath"

如何从Springbean注入静态变量

public class MyClass{
    static String str;
    // how to set value to this variable through Spring
}

<b>Spring bean</b>
<bean id='myclass' class = 'com.so.MyClass'>
    <property name="str" value="xmlpath" />
</bean>.

您可以对静态变量使用非静态setter

public void setStr(String str) {
    your.package.MyClass.str = str;
}
在你的背景下:

<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property name="yourMethod" value="your.packaged.MyClass.setStr"/>
    <property name="arguments">
        <list>
            <ref bean="str"/>
        </list>
   </property>
</bean>


在属性标签中,属性名称将是staticMethod,根据我的判断

这可能是重复的,但通常表明存在设计问题。完全不要使用statics。这使得您的代码难以正确测试。