使用反射赋值。
Class clazz = object.getClass();
Method method = clazz.getDeclaredMethod("setLastUpdateDate", Date.class);
method.invoke(object, new Date());
如:
import java.lang.reflect.Method; import java.util.Date; import javax.servlet.http.HttpSession; /** * 该类用来对系统中业务实体中的保留字段进行维护 * 提供公用的方法签名 * */ public class ObjectUtil { /** * 设置创建人的一些属性值,不需要更新创建日期 * @param object */ @SuppressWarnings("unchecked") public static void setUpdatedBy(Object object) { @SuppressWarnings("rawtypes") Class clazz = object.getClass(); HttpSession httpSession = GlobalSession.getHttpSession(); try { SysUser dbCheckUser = (SysUser) httpSession.getAttribute(SessionKeys.SESSION_SYS_USER); Long userId = dbCheckUser.getId(); Method setLastUpdateBy = clazz.getDeclaredMethod("setLastUpdateBy", Long.class); Method setLastUpdateDate = clazz.getDeclaredMethod("setLastUpdateDate", Date.class); setLastUpdateBy.invoke(object, userId); setLastUpdateDate.invoke(object, new Date()); } catch (Exception ex) { ex.printStackTrace(); } } /** * 方法名称:setCreatedBy * 功能描述: * 设置创建人的一些属性值 * @param object */ @SuppressWarnings("unchecked") public static void setCreatedBy(Object object) { // 获得类对象 @SuppressWarnings("rawtypes") Class clazz = object.getClass(); HttpSession httpSession = GlobalSession.getHttpSession(); try { SysUser dbCheckUser = (SysUser) httpSession.getAttribute(SessionKeys.SESSION_SYS_USER); Long userId = dbCheckUser.getId(); Method setCreatedBy = clazz.getDeclaredMethod("setCreatedBy", Long.class); Method setLastUpdateBy = clazz.getDeclaredMethod("setLastUpdateBy", Long.class); Method setCreatedDate = clazz.getDeclaredMethod("setCreatedDate", Date.class); Method setLastUpdateDate = clazz.getDeclaredMethod("setLastUpdateDate", Date.class); Method setEnabledFlag = clazz.getDeclaredMethod("setEnabledFlag", String.class); setCreatedBy.invoke(object, userId); setLastUpdateBy.invoke(object, userId); setCreatedDate.invoke(object, new Date()); setLastUpdateDate.invoke(object, new Date()); setEnabledFlag.invoke(object, Constants.ENABLED_FLAG_Y); } catch (Exception ex) { ex.printStackTrace(); } } }
或:
/** * * 设置target对象中名为fieldName的属性值为value * * @param target * @param fieldName * @param value * * @return target对象 * */ public static Object setValueToField(Object target, String fieldName, Object value){ Field[] fs = target.getClass().getDeclaredFields(); for(Field f : fs){ if(f.getName().equalsIgnoreCase(fieldName)){ try { f.setAccessible(true); f.set(target, value); } catch (Exception e) { logger.error("\u8bbe\u7f6e\u503c\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5 [target : " + target.getClass() + "][field : " + f.getName() + "][value : " + value.getClass() + "]"); e.printStackTrace(); } break; } } return target; }
。。
相关推荐
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
Java常用的工具类,包含常用的一些工具类。
ObjectUtil组件其实就是单例模式的最好范例,声明调用各个组件的时候,用ObjectUtil调用,可以有效的防止调用过多的类而导致错误或者资源浪费。 比如调用Db组件,这样声明就可以了 $db = LtObjectUtil::singleton(...
动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...
依赖与ApacheCommon的Java通用工具工程类概览: ArrayUtil -----> ArrayUtil通用工具类...数值通用工具类ObjectUtil ----->对象通用工具类PropertiesLoader ----->配置文件加载读取通用工具类ReflectionUti
主要采用问答的方式集中讲解了Java中Equals的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Stringutil FileUtil MD5 JsonUtil
object.ObjectUtil中的对象深度转换能力,方法为ObjectUtil.to 该能力是Agile系列框架高代码复用率的根本所在
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。