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。