我有一张地图,他们的地图键是一个枚举,并且有一些值。
我有一个带有字段的java类,字段用enum值注释,现在我想设置从地图到字段的值,任何建议,想法如何去做?
我使用普通的旧反射,但有没有更好的方法来实现这一点,春天的东西或apache公共的东西等?
e.g
Map<Myenum,String> map = new HashMap<Myenum,String();
map.add(Myenum.Value1, "1");
map.add(Myenum.Value2, "2");
map.add(Myenum.Value3,"3");
我有一个类似
的java类MyClass{
@Use(fieldName=Myenum.Value1)
String Field1;
@Use(fieldName=Myenum.Value2)
String Field2;
@Use(fieldName=Myenum.Value3)
Object Field3;
@Use(fieldName=Myenum.Value4)
Integer Field4;
}
我希望创建的MyClass类和字段(Field1,Field2,Field3,Field4)加载来自地图的值,其中的键与字段上的注释匹配。
例如field1应该有vaule 1,因为field1的注释与地图中条目1的键匹配。
可能类似于Jaxws @XMLElement注释字段获取从xml / soap
加载的值的方式有什么建议吗?
答案 0 :(得分:0)
我不知道Spring是否有自定义注释的自定义拦截器/处理程序。您可以通过基本反射轻松完成此操作。
Map
。Class
对象。Field
。Field
是否都有注释Use
。如果是,请获取其fieldName
属性并从Map
。newInstance()
创建班级实例。Field
获得的元素在该实例上设置每个找到的Map
。