* Java 两个 Java bean 之间的赋值
2016-01-13 17:02
1306 查看
/**
* bean 之间的赋值
*
* @author gao
*
*/
public class BeanToBean {
/**
* 两个bean之间相互传值
*
* @param from
* @param to
* @return
*/
public static Object convertBean2Bean(Object from, Object to) {
try {
BeanInfo beanInfo = Introspector.getBeanInfo(to.getClass());
PropertyDescriptor[] ps = beanInfo.getPropertyDescriptors();
Class<?> classType = from.getClass();
for (PropertyDescriptor p : ps) {
Method getMethod = p.getReadMethod();
Method setMethod = p.getWriteMethod();
if (getMethod != null && setMethod != null) {
try {
Method fromGetMethod = classType.getMethod(getMethod.getName());
Object result = fromGetMethod.invoke(from);
setMethod.invoke(to, result);
} catch (Exception e) {
continue;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return to;
}
public static void main(String[] args) {
FundsProductInfoVo vo = new FundsProductInfoVo();
vo.setProductId("123456");
vo.setMfTranstype("01");
vo.setMfBankcode("00");
vo.setMfDebitnote("dsf");
vo.setMfIsprotocol("11");
vo.setIsMesg("adsf");
ChannelVo temp = new ChannelVo();
temp.setIsMesg("asdf");
temp.setMfBankcode("sdf");
temp.setMfIsprotocol("ds");
ChannelVo channelVo = (ChannelVo) BeanToBean.convertBean2Bean(vo, new ChannelVo());
System.out.println(channelVo.toString());
}
}
* bean 之间的赋值
*
* @author gao
*
*/
public class BeanToBean {
/**
* 两个bean之间相互传值
*
* @param from
* @param to
* @return
*/
public static Object convertBean2Bean(Object from, Object to) {
try {
BeanInfo beanInfo = Introspector.getBeanInfo(to.getClass());
PropertyDescriptor[] ps = beanInfo.getPropertyDescriptors();
Class<?> classType = from.getClass();
for (PropertyDescriptor p : ps) {
Method getMethod = p.getReadMethod();
Method setMethod = p.getWriteMethod();
if (getMethod != null && setMethod != null) {
try {
Method fromGetMethod = classType.getMethod(getMethod.getName());
Object result = fromGetMethod.invoke(from);
setMethod.invoke(to, result);
} catch (Exception e) {
continue;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return to;
}
public static void main(String[] args) {
FundsProductInfoVo vo = new FundsProductInfoVo();
vo.setProductId("123456");
vo.setMfTranstype("01");
vo.setMfBankcode("00");
vo.setMfDebitnote("dsf");
vo.setMfIsprotocol("11");
vo.setIsMesg("adsf");
ChannelVo temp = new ChannelVo();
temp.setIsMesg("asdf");
temp.setMfBankcode("sdf");
temp.setMfIsprotocol("ds");
ChannelVo channelVo = (ChannelVo) BeanToBean.convertBean2Bean(vo, new ChannelVo());
System.out.println(channelVo.toString());
}
}
相关文章推荐
- javaHL(JNI) Not Available
- spring and hibernate mixed
- Win7下JDK环境变量的配置
- Java集合框架GS Collections详解
- Eclipse + Java 环境配置完整教程(简单的 hello world 验证)
- Java集合框架Koloboke详解
- Spring学习笔记
- Servlet & Spring对Multipart数据请求的支持
- Spring注解@Component、@Repository、@Service、@Controller @Resource、@Autowired、@Qualifier 解析
- Java读书笔记(8)-单例模式
- maven-使用myeclipse创建maven项目
- java socket编程
- 怎么计算两个经纬度之间的距离
- spring配置文件dubbo标签报错解决办法
- java学习--学生成绩管理系统
- Spring扫包时导致未加事务
- Eclipse创建mvn web工程
- spring cloud教程之使用spring boot创建一个应用
- struts2提交表单时Error setting expression 'user.username' with value……的错误
- 使用proguard混淆java web项目代码