如何在Spring配置中传递静态常量作为参数?

Jay*_*Jay 1 java spring

这是我的班级:

public class MyClassA {

    private int mode;
    public static int THREAD_MODE=1;
    public static int CLUSTER_MODE=2;

    public MyClassA(int mode) {
         this.mode= mode;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望将我的spring配置xml中的这些信息发送到我的类实例.我如何实现这样的目标?

<bean id="myclass" class="com.test.MyClassA"> <constructor-arg value="MyClassA.THREAD_MODE"/> </bean>
Run Code Online (Sandbox Code Playgroud)

Cos*_*atu 13

util命名空间提供了constant所做的正是这个元素:

<constructor-arg>
    <util:constant static-field="MyClassA.THREAD_MODE"/>
</constructor-arg>
Run Code Online (Sandbox Code Playgroud)

该功能由FieldRetrievingFactoryBean该类提供.

这需要为<beans>元素添加命名空间和一些模式,即下面提到的项目util.

<beans xmlns="..."
    xmlns:xyz="..."
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="...
    ...
    http://www.springframework.org/schema/util
    http://www.springframework.org/schema/util/spring-util.xsd">
Run Code Online (Sandbox Code Playgroud)