java 反射获取设置私有成员变量的值

时间:2024-08-26 17:35:32
for (Object arg:args) {
//处理applicationCode
Class<?> argClass = arg.getClass();
Field applicationCode =null;
try {
applicationCode =argClass.getDeclaredField("applicationCode");
}catch (NoSuchFieldException e){ }
JWTData jwtData = CurrentUser.getUserInfo();
if (applicationCode!=null&&jwtData != null){
applicationCode.setAccessible(true);
if ( StringUtils.isNotEmpty(jwtData.getApplicationCode())) {
applicationCode.set(arg,jwtData.getApplicationCode());
}
}
//处理 createdBy
Field createdBy = null;
try {
createdBy =argClass.getDeclaredField("createdBy");
}catch (NoSuchFieldException e){ }
createdBy.setAccessible(true);
if (createdBy !=null&&createdBy.get(arg)==null &&jwtData != null){
if ( StringUtils.isNotEmpty(jwtData.getUsername())) {
createdBy.set(arg,jwtData.getUsername());
}
}
}