`
dragonhunter
  • 浏览: 33492 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

BeanUtils处理Enum类

    博客分类:
  • java
阅读更多

今天做项目时,遇到一个把一个map的值赋给一个JavaBean,本来是很简单的事,用apache的BeanUtils就可以了,不过JavaBean里有个成员变量的类型是Enum,转的时候就报错,在百度搜了半天没搜到,本来想自己通过反射来实现,但考虑到通用性上,最后还是在看org.apache.commons.beanutils.BeanUtils的相关官方文档才找到解决办法的。

比如一个map{productID=1,type=CAR},

javaBean为public class Product{

    String productID;

    ProductType type;//ProductType为一个enum

}

转的代码也比较简单:

//注入一个ProductType枚举
		 ConvertUtils.register(new Converter() {
				public Object convert(Class type, Object value) {
					return ProductType.valueOf((String)value);
				}
			    }, ProductType.class);
	}

 然后再使用BeanUtils.copyProperties(dest, orig);就可以了。

不知道有没有别的好的方法,本人觉得最主要是怎么让copy方法知道javabean里面的枚举类型,就像Xstream把xml转为javabean时,要知道是哪个对象,里面的嵌套对象是哪个类。

分享到:
评论

相关推荐

    BeanUtils工具类的Jar包

    在JavaWeb开发中,BeanUtils工具类扮演着重要的角色,它是Apache Commons项目的一部分,具体是Apache Commons BeanUtils库。这个库提供了一系列方便的方法,用于处理JavaBeans,即那些符合JavaBeans规范的对象。在这...

    BeanUtils工具类

    在Java开发中,BeanUtils工具类是Apache Commons项目的一个重要组成部分,主要负责处理Java对象(通常称为Beans)的属性操作。BeanUtils库提供了一系列便捷的方法,使得开发者可以更轻松地进行对象属性的设置、获取...

    beanutils工具类

    `BeanUtils`工具类是Apache Commons项目中的一个组件,它为Java开发提供了一种便捷的方式来操作JavaBean属性,极大地简化了使用反射API的工作。在Java编程中,JavaBean是一种遵循特定规则的对象,通常用于封装数据并...

    JavaBean和beanutils工具类的学习

    BeanUtils工具类是由Apache软件基金会开发的一个开源库,它简化了JavaBean的处理,提供了反射和属性操作的功能。BeanUtils提供了以下主要功能: 1. `BeanUtils.setProperty()`: 用于设置JavaBean对象的属性值,只...

    beanutils的jar包

    BeanUtils的`PropertyUtils`类中的`convertType()`方法能够自动将一个对象转换为指定的目标类型,这大大提高了代码的灵活性和可维护性。 此外,BeanUtils库还支持属性的动态设置和获取。`PropertyUtils.getProperty...

    BeanUtils工具 .jar 包

    BeanUtils工具.jar包是Apache Commons项目中的一个核心组件,它为Java开发人员提供了一套方便的工具类,用于处理Java Bean对象之间的属性复制、类型转换等常见操作。这个库简化了对象模型之间的数据绑定,特别是在...

    beanutils类

    这个包主要提供用于操作JavaBean的工具类,Jakarta-Common-BeanUtils的主要功能都在这个包里实现。

    Spring-BeanUtils工具类

    Spring BeanUtils工具类是Spring框架中的一个重要组成部分,它基于Apache Commons BeanUtils库,提供了一种简单而便捷的方式来处理JavaBean的属性。这个工具类极大地简化了对象之间属性的复制、类型转换以及对...

    beanutils源码

    Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为处理JavaBeans提供了方便的API。这个源码压缩包"commons-beanutils-1.8.3-src.tar.gz"包含了BeanUtils库的源代码,可以帮助开发者深入理解其内部...

    commons-beanutils-1.8.0

    Apache Commons BeanUtils库是Java开发中不可或缺的一部分,尤其对于那些频繁处理JavaBeans属性的开发者来说。它提供了便捷的方式来操作Java对象的属性,极大地简化了代码。本文将详细探讨`commons-beanutils-1.8.0....

    beanutils-1.8.3开发包

    在描述中提到的"很全面的",意味着这个压缩包可能包含了BeanUtils库的所有类、接口、文档、示例代码和可能的测试用例,使得开发者可以全面了解和利用BeanUtils的功能。 BeanUtils包的核心概念是JavaBeans,这是一种...

    commons-beanutils-1.9.3.jar

    BeanUtils库对可能出现的异常进行了包装,比如`NoSuchMethodException`和`IllegalAccessException`,通过`BeanUtils`类的方法抛出的是`BeanUtilsException`,这简化了异常处理逻辑。 6. **国际化支持** BeanUtils...

    Commons BeanUtils 1.8.3 API

    在Java编程中,Java Bean通常表示为具有属性、构造函数和getter/setter方法的简单类,BeanUtils库极大地简化了这些对象的创建、属性设置和访问。 BeanUtils的核心功能包括: 1. **属性拷贝**:通过`copyProperties...

    beanutils 1.8 jar包+源码_阿锦—小白

    首先,BeanUtils库的核心功能在于它提供了方便的Java Bean操作接口,这些接口能够帮助开发者以更简洁的方式处理对象属性的get和set操作。例如,`BeanUtils.copyProperties()`方法可以用来复制一个Bean的所有属性到另...

    commons-beanutils-1.8.2-src官方源文件,是你学习beanutils工具的必备资料

    - **异常处理**:在处理过程中,BeanUtils会捕获并封装可能出现的异常,提供友好的错误信息,如`ConversionException`和`IllegalAccessException`。 4. **实际应用**:在实际开发中,BeanUtils常用于数据绑定,...

    commons-beanutils 源码

    Apache Commons BeanUtils是Java开发中广泛使用的工具库,主要用于处理JavaBean对象的属性操作。这个库的核心功能在于简化了JavaBean对象的属性设置、获取以及复制等操作,使得开发者能够更加方便地进行数据绑定和...

    BeanUtils工具类的使用.zip

    本资源包主要围绕`BeanUtils`工具类的使用进行讲解,旨在帮助开发者更好地理解和应用这个工具类。 首先,`BeanUtils`的核心功能是基于JavaBean规范,它提供了方便的方法来处理Java对象的属性。JavaBean是一种遵循...

    beanutils 的jar包

    4. **异常处理**:BeanUtils在执行过程中,如果遇到无法处理的情况(如找不到对应的setter或getter方法),会抛出`InvocationTargetException`。这有助于我们在程序中捕获并处理这些异常。 5. **依赖注入**:虽然...

    beanutils包

    5. **集合操作**:BeanUtils还支持对集合类的操作,如列表和数组,可以方便地将集合中的元素映射到JavaBeans对象的属性上。 在网络框架中,BeanUtils的作用尤为重要: - **模型绑定**:在网络框架中,通常需要将...

    BeanUtils-jar包

    然而,需要注意的是,BeanUtils在处理类型转换时默认不做任何检查,这意味着如果属性类型不匹配,可能会抛出异常。为了处理这种情况,Apache Commons提供了另一个类似的包——`Dozer`,它提供了更智能的类型转换机制...

Global site tag (gtag.js) - Google Analytics