java bean 合并
package com.hainabo.mgcmall.util; import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor; public class BeanUtils { public static <M> void merge(M target, M destination) throws Exception {
BeanInfo beanInfo = Introspector.getBeanInfo(target.getClass()); // 遍历所有属性
for (PropertyDescriptor descriptor : beanInfo.getPropertyDescriptors()) {
// 允许读写
if (descriptor.getWriteMethod() != null) {
//Object originalValue = descriptor.getReadMethod().invoke(target);//target中(descriptor)的值
// Only copy values values where the destination values is null
//if (originalValue == null) {
Object defaultValue = descriptor.getReadMethod().invoke(destination);//destination中(descriptor)的值
if(defaultValue!=null && !"".equals(defaultValue)){
descriptor.getWriteMethod().invoke(target, defaultValue);//用defaultValue覆盖到target
}
//}
}
}
}
} 此方法会将 destination中!""&!null 的值覆盖到 target中
java bean 合并的更多相关文章
- 用大白话聊聊JavaSE -- 如何理解Java Bean(一)
首先,在开始本章之前,先说一个总的概念:所谓的Java Bean,就是一个java类,编译后成为了一个后缀名是 .class的文件.这就是Java Bean,很多初学者,包括当年的我自己,总是被这些专 ...
- Java Bean、POJO、 Entity、 VO 、PO、DAO
Java Bean.POJO. Entity. VO , 其实都是java 对象,只不过用于不同场合罢了. Java Bean: 就是一个普通的Java 对象, 只不过是加了一些约束条件. 声 ...
- [Java] JSP笔记 - Java Bean
一. Java Bean 是什么? Java Bean 其实就是一个符合特定规则的 Java Class.这些规则包括: 使用 public 声明的公用类 属性使用public 的get,set方法访 ...
- Java Bean
Java 帝国之Java bean (上) Java 帝国之Java bean(下) Difference between DTO, VO, POJO, JavaBeans? Java bean 是个 ...
- Java bean validation 规范与参考实现
1.Apache Bval 依赖包:validation-api-1.1.0.Final.jar org.apache.bval.bundle-1.1.1.jar bval-core-1.1.1.ja ...
- java bean 转换工具
考量要素: 1.简单的约定优于配置的同名属性copy 2.嵌套属性copy 3.flattern(扁平化)支持,要支持N层结构的copy到一层结构. 4.性能 如下这个网页,里面提到了好多工具. ht ...
- java bean、List、数组、map和Json的相互转化
工程 json包为 代码 package com.my.json; public class ChildBean { private String childName; private String ...
- spring mvc返回json字符串数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable
1.spring mvc返回json数据,只需要返回一个java bean对象就行,只要这个java bean 对象实现了序列化serializeable 2. @RequestMapping(val ...
- JAVA bean与XML互转的利器---XStream
最近在项目中遇到了JAVA bean 和XML互转的需求, 本来准备循规蹈矩使用dom4j忽然想起来之前曾接触过的XStream, 一番研究豁然开朗,利器啊利器, 下来就XStream的一些用法与大家 ...
随机推荐
- ftp的本地用户搭建
前期的准备跟虚拟用户一样,就是配置文件不一样 修改配置文件 就是共享的都是自己的账号的家目录,然后启动服务就可以了 本地登陆的都是自己的账号密码 ftp本地的黑名单,
- IIS:连接数、并发连接数、最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数详解
Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows NT版本的可选 ...
- cookies分类
Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie. 内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的.硬盘Cooki ...
- Swift 3 实现拍照功能
编辑.plist文件,添加两个key-value,打开相机和相册的访问权限1) 申请相机权限: <key>NSCameraUsageDescription</key> < ...
- [Python] RuntimeError: Invalid DISPLAY variable
1.问题:在本地用matplotlib绘图可以,但是在ssh远程绘图的时候会报错 RuntimeError: Invalid DISPLAY variable 2.原因:matplotlib的默认ba ...
- jQuery AJAX 与 jQuery 事件
jQuery 本身即是为事件处理而特别设计的,jQuery 事件处理方法是 jQuery 中的核心函数. $(function() { ... }); 是如下格式的缩写: $(document).re ...
- Mac终端建立替身 并置于桌面或Finder中
前情 Xcode存放log的文件夹路径忒长了,且需要用终端才能查看.所以就想制作个替身,放在Finder中便于查看. going on command+space打开terminal 一直cd...进 ...
- Git使用总结(廖雪峰git)
安装 $ sudo apt-get install git 配置 # 配置用户名和邮箱 $ git config --global user.name "Your Name" $ ...
- 【剑指offer】把二叉树打印成多行,C++实现
原创文章,转载请注明出处! 本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 1.题目 从上到下按层打印二叉树,同一层结点从左至右输出,每一层输出一行.例如:下面二叉树的 ...
- 【剑指offer12】矩阵中的路径(回朔法),C++实现
1.题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...