美文网首页JAVA基础
Spring BeanUtils属性copy

Spring BeanUtils属性copy

作者: 夹胡碰 | 来源:发表于2020-08-24 15:12 被阅读0次

maven依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>5.0.9.RELEASE</version>
</dependency>

属性copy Demo

public class BeanUtilsTest {

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class DO{
        private Bean bean;
        private String name;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class DTO{
        private Bean bean;
        private String age;
    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    static class Bean{
        private String uid;
    }

    public static void main(String[] args) {
        Bean bean = new Bean("123");
        DO aDo = new DO(bean,"zhangsan");
        DTO aTo = new DTO();
        BeanUtils.copyProperties(aDo, aTo);
        // out => BeanUtilsTest.DTO(bean=BeanUtilsTest.Bean(uid=123), age=null)
        System.out.println(aTo);
        // 测试是否是浅拷贝
        bean.setUid("456");
        // out => BeanUtilsTest.DTO(bean=BeanUtilsTest.Bean(uid=456), age=null)
        System.out.println(aTo);
        // 结论: Spring BeanUtils 拷贝是浅拷贝
    }
}

参考

  1. 为什么阿里巴巴禁止使用Apache Beanutils进行属性的copy?

相关文章

网友评论

    本文标题:Spring BeanUtils属性copy

    本文链接:https://www.haomeiwen.com/subject/lgkejktx.html