3

int のプロパティがあり、enum があります。Spring Bean 構成で列挙型を使用して int プロパティを設定するにはどうすればよいですか?

public class HelloWorld {
    private int type1;

    public void setType1(int type1) {
        this.type1 = type1;
    }
}

public enum MyEnumType1 {
    TYPE1(1),
    TYPE2(2);

    private final int index;

    private MyEnumType1(int i) {
        this.index = i;
    }

    public int getIndex() {
        return index;
    }
}

以下を試しましたが、うまくいきませんでした。

<bean id="helloBean" class="com.example.HelloWorld">
    <property name="type1" value="TYPE1.index" />
</bean>
4

3 に答える 3

2
<bean id="helloBean" class="com.example.HelloWorld">
    <property name="type1" value="#{T(com.MyEnum).TYPE1.index}" />
</bean>
于 2012-11-28T08:43:09.783 に答える
1

としてみてください

public void setType1(MyEnumType1 type1) {
this.type1 = type1.getIndex();
}

<bean id="helloBean" class="com.example.HelloWorld">
  <property name="type1" value="TYPE1 />
</bean>
于 2012-11-28T07:03:05.183 に答える