Spring ENUM 枚举类型的注入

Spring_ENUM_枚举类型的注入

示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

    <bean id="worker" class="quantity.kuaiban.Worker">
        <property name="name" value="skk" />
        <property name="age" value="12" />
        <!-- 枚举类型直接注入 -->
        <property name="gender1" value="MALE" />
        <!-- 枚举类型作为bean注入 -->
        <property name="gender2" ref="gender" />
        <!-- 枚举类型作为Map的Key注入 -->
        <property name="mapGender" ref="mapGender" />
    </bean>

    <util:constant id="gender" static-field="quantity.kuaiban.Gender.FEMALE" />

    <util:map id="mapGender" key-type="quantity.kuaiban.Gender">
        <entry key="FEMALE" value="110"/>
        <entry key="MALE" value="111" />
        <entry key="UNSPECIFIED" value="112" />
    </util:map>
</beans>

Gender.java

package quantity.kuaiban;

public enum Gender {
    MALE, FEMALE, UNSPECIFIED
}

Worker.java

package quantity.kuaiban;

import java.util.Map;

public class Worker {

    private String name;
    private int age;
    private Gender gender1;
    private Gender gender2;
    private Map<Gender,String> mapGender;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Gender getGender1() {
        return gender1;
    }
    public void setGender1(Gender gender1) {
        this.gender1 = gender1;
    }
    public Gender getGender2() {
        return gender2;
    }
    public void setGender2(Gender gender2) {
        this.gender2 = gender2;
    }
    public Map<Gender, String> getMapGender() {
        return mapGender;
    }
    public void setMapGender(Map<Gender, String> mapGender) {
        this.mapGender = mapGender;
    }
}

最后,建议使用Java Config 或 Spring Boot,代替原始的XML Config。

猜你喜欢

转载自blog.csdn.net/qq_32331073/article/details/80327445
今日推荐