1

这是我的课:

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;
    }
}

我想在我的 spring 配置 xml 中将此信息发送到我的类实例。我如何实现这样的目标?

<bean id="myclass" class="com.test.MyClassA"> <constructor-arg value="MyClassA.THREAD_MODE"/> </bean>
4

2 回答 2

14

util命名空间提供了一个执行此操作的constant元素:

<constructor-arg>
    <util:constant static-field="MyClassA.THREAD_MODE"/>
</constructor-arg>

类提供了对此功能的支持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">
于 2012-07-18T11:20:07.750 回答
2

我可能会使用枚举而不是整数(类型更安全且范围有限)。Spring 将支持枚举的注入。有关更多信息,请参阅本文

于 2012-07-18T11:21:30.317 回答