详解SpringMVC 自动封装枚举类的方法
来源:爱站网时间:2019-12-08编辑:网友分享
Spring MVC的操作是不能直接注入的,只要实现了基本数据类型的自动转换注入,还提供了其他接口,可以根据自己的需要进行扩展,下面就让爱站技术频道小编为大家详解SpringMVC 自动封装枚举类的方法吧!
Spring MVC的操作是不能直接注入的,只要实现了基本数据类型的自动转换注入,还提供了其他接口,可以根据自己的需要进行扩展,下面就让爱站技术频道小编为大家详解SpringMVC 自动封装枚举类的方法吧!
springmvc默认无法自动封装枚举类,解决方法如下:
1.枚举类
public enum GoodsPromoteEnum { /** * 0 精品 */ fine("精品",0), /** * 1 限时购 */ limit("限时购",1), /** * 2 特价 */ cheap("特价",2); private String value; private int index; private GoodsPromoteEnum(String value, int index) { this.value = value; this.index = index; } public static GoodsPromoteEnum get(String value){ for (GoodsPromoteEnum p : GoodsPromoteEnum.values()) { if (p.getValue().equals(value)) { return p; } } return null; } public static GoodsPromoteEnum get(int index){ for (GoodsPromoteEnum p : GoodsPromoteEnum.values()) { if (p.getIndex() == index) { return p; } } return null; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } }
2.编写自定义处理类,继承Converter接口
public class StringToGoodsConverter implements Converter<String, GoodsPromoteEnum> { @Override public GoodsPromoteEnum convert(String value) { if (StringUtils.isBlank(value)) { return null; } return GoodsPromoteEnum.get(value); } }
3.在springmvc配置文件里配置
<!--自定义枚举类封装 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.tentcoo.zbh.util.StringToGoodsConverter" /> </set> </property> </bean>
以上就是由爱站技术频道小编带来的详解SpringMVC 自动封装枚举类的方法,看完上述的介绍,相信大家已经学会了吧!
上一篇:详解Java中自动生成构造方法