利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
2016-11-15 16:24
736 查看
本文转载自:http://www.cnblogs.com/tclee/archive/2012/02/28/2012773.html
在上面这篇文档中,作者使用了Java jdk中的反射来调用set方法。
个人愚见:如果是javaBean的话,我们可以使用内省来操作属性,jdk中提供了:
java.beans.Introspector和java.beans.PropertyDescriptor来进行内省操作
private static void setProperties(Object pt1, String propertyName,
Object value) throws IntrospectionException,
IllegalAccessException, InvocationTargetException {
PropertyDescriptor pd2 = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodSetX = pd2.getWriteMethod();
methodSetX.invoke(pt1,value);
}
private static Object getProperty(Object pt1, String propertyName)
throws IntrospectionException, IllegalAccessException,
InvocationTargetException {
/*PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodGetX = pd.getReadMethod();
Object retVal = methodGetX.invoke(pt1);*/
BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
Object retVal = null;
for(PropertyDescriptor pd : pds){
if(pd.getName().equals(propertyName))
{
Method methodGetX = pd.getReadMethod();
retVal = methodGetX.invoke(pt1);
break;
}
}
return retVal;
}
另外,我们也可以使用Apache提供的给我们的BeanUtils和PropertyUtils来进行内省操作
org.apache.commons.beanutils.PropertyUtils.setProperty(Object bean, String name, Object value)
sorg.apache.commons.beanutils.BeanUtils.etProperty(Object bean, String name, Object value)
在上面这篇文档中,作者使用了Java jdk中的反射来调用set方法。
个人愚见:如果是javaBean的话,我们可以使用内省来操作属性,jdk中提供了:
java.beans.Introspector和java.beans.PropertyDescriptor来进行内省操作
private static void setProperties(Object pt1, String propertyName,
Object value) throws IntrospectionException,
IllegalAccessException, InvocationTargetException {
PropertyDescriptor pd2 = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodSetX = pd2.getWriteMethod();
methodSetX.invoke(pt1,value);
}
private static Object getProperty(Object pt1, String propertyName)
throws IntrospectionException, IllegalAccessException,
InvocationTargetException {
/*PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass());
Method methodGetX = pd.getReadMethod();
Object retVal = methodGetX.invoke(pt1);*/
BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
Object retVal = null;
for(PropertyDescriptor pd : pds){
if(pd.getName().equals(propertyName))
{
Method methodGetX = pd.getReadMethod();
retVal = methodGetX.invoke(pt1);
break;
}
}
return retVal;
}
另外,我们也可以使用Apache提供的给我们的BeanUtils和PropertyUtils来进行内省操作
org.apache.commons.beanutils.PropertyUtils.setProperty(Object bean, String name, Object value)
sorg.apache.commons.beanutils.BeanUtils.etProperty(Object bean, String name, Object value)
相关文章推荐
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- 利用dom4j 读取javabean生成XML和读取XML得到javabean对象(集合)
- java利用dom4j对输入的任意对象生成xml文件
- java利用dom4j对输入的任意对象生成xml文件
- 利用python操作android的xml资源文件,让其按照中文自动生成对应中文首字母加起来的名字,并且根据中文在java类里面替代对应的中文
- 利用泛型和反射对Java对象集合转换成Json的工具类
- xmlbeans-2.5.0 生成与xml结构相同的javabean对象
- 利用java反射读取xml配置文件
- 利用Java反射实现JavaBean对象相同属性复制并初始化目标对象为空的属性的BeanUtils
- 利用Java反射实现JavaBean对象相同属性复制并初始化目标对象为空的属性的BeanUtils
- java中利用Dom4j解析和生成XML文档
- 利用java反射读取xml配置文件
- JAVA利用反射映射JSON对象为JavaBean
- java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象
- 利用php访问数据库数据表,生成javabean.java文件,符合javabean语法
- 利用Java反射实现JavaBean对象相同属性复制并初始化目标对象为空的属性的BeanUtils
- java读取xml获得list并通过反射赋值给javabean