properties里的值,加载到bean,对于bean的枚举属性,怎么转

IM飞大 发布于 2018/09/07 14:07
阅读 281
收藏 0

SpringBoot项目,在properties或yml里配置一段属性,定义一个bean,其中一个属性是enum,如何简单优雅的加载转化进来.

xxxx:

  persion: 

     name: xiaoming

     sex: 1

 

public class Persion

{

    private String name;

    SexEnum sex;

    setxx..

    getxx..

}

 

public enum SexEnum ...

加载中
0
红薯官方
红薯官方

基本代码如下,主要是Enum.valueOf 处理枚举名称和枚举量的转换:

String propertyValue = ...;
//field.setAccess(true);
Class<?> type = field.getType();
boolean isEnum = type.isEnum();
if(isEnum) {
  field.set(bean, java.lang.Enum.valueOf(type, propertyValue))
}

 

0
IM飞大
IM飞大

硬编码我可以实现,有没有优雅的,或者spring是否可以注册一个通用的实现转化所有的enum类型的

返回顶部
顶部