前言
在项目设计阶段,有时候很多地方都是不完善的。比如在数据库中有些地方进行了修改导致某项数据变成了空值,但是后面编码过程中又用到了这一项数据。在赋值为空的情况下,如果调用这项数据,就有可能出现错误。在现在的项目中,也有空属性的问题存在。现在来对其进行补充,同时加入aspect日志。
实现过程
空属性赋值问题
在前面的新闻系统当中,在不输入全部信息的情况下,就会出现空属性赋值的问题。比如编辑时没有输入日期就会自动保存为空。
下面针对这个问题进行修改
public class MyBeanUtils {
public static String[] getNullPropertyNames(Object source){
BeanWrapper beanWrapper = new BeanWrapperImpl(source);
PropertyDescriptor pds[] = beanWrapper.getPropertyDescriptors();
List<String> nullPropertyNames = new ArrayList<>();
for(PropertyDescriptor pd:pds){
String propertyName = pd.getName();
if(beanWrapper.getPropertyValue(propertyName)==null){
nullPropertyNames.add(propertyName);
}
}
return nullPropertyNames.toArray(new String[nullPropertyNames.size()]);
}
}
在属性传递给一个数组,找到