spring boot新闻管理——空属性赋值和aspect日志

本文探讨了在Spring Boot应用中遇到的空属性赋值问题,指出当source中元素为空时会覆盖target的非空元素,并提出了解决方案:通过创建特定类来处理这些空值。此外,还介绍了如何利用Aspect进行日志管理,包括创建日志记录类和子类以详细记录应用运行信息。
摘要由CSDN通过智能技术生成

空属性赋值问题

使用BeanUtils.copyProperties(source,target)赋值时,若source中某些元素为空,会覆盖掉target中非空的元素,因此需要解决这个问题

  1. 创建util.MyBeanUtils类,查找并处理属性值为空的元素

    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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值