码迷,mamicode.com
首页 > 其他好文 > 详细

Lombok使用(消除复杂的get set)

时间:2018-09-14 16:00:37      阅读:450      评论:0      收藏:0      [点我收藏+]

标签:blog   技术分享   des   href   eset   private   地址   www   测试   

Lombok 

一个省去传统的get set方法的好用插件  其实功能也不全部都只是get set  只是使用这个东西的特征就是这个

所有的东西都是看着很厉害,挖一挖我去真牛逼,最后哎太复杂会用就行

 

有兴趣的可以直接跳过这篇文章去看官方的介绍,那里更加详细,本文也是在参照官网完成的:https://www.projectlombok.org/

插件下载可以在找到
技术分享图片技术分享图片?

 

  1. 依赖

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>0.9.2</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>projectlombok.org</id>
            <url>http://projectlombok.org/mavenrepo</url>
        </repository>
    </repositories>

     

    技术分享图片

    展示一下之前的使用的方式

    package com.sakura.domain;
    
    /**
     * @author licunzhi
     * @desc 测试@Data:不需要写set get方法
     * @date 2018-09-10
     */
    public class PersonData {
        private String name;
        private Integer age;
        private String address;
        private Double salary;
    
        public PersonData(String name, Integer age, String address, Double salary) {
            this.name = name;
            this.age = age;
            this.address = address;
            this.salary = salary;
        }
    
        public PersonData() {
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String getAddress() {
            return address;
        }
    
        public void setAddress(String address) {
            this.address = address;
        }
    
        public Double getSalary() {
            return salary;
        }
    
        public void setSalary(Double salary) {
            this.salary = salary;
        }
    
        @Override
        public String toString() {
            return "PersonData{" + "name=‘" + name + ‘\‘‘ + ", age=" + age + ", address=‘" + address + ‘\‘‘ + ", salary="
                            + salary + ‘}‘;
        }
    }

     

    技术分享图片

     

  2.  可以使用的注解
    @Getter and @Setter 给指定的属性增加get或者是set方法的注解

    @NonNull 为空校验 指定属性字段不能为空,否则会出现空指针的异常问题

    @ToString 生成toString方法,callsper默认是false的 是否按照父类的方式打印, exclude排除在外的字段
    单个和多个排除在外的写法

    //@ToString(exclude = {"age", "name"}, callSuper = true)
    @ToString(exclude = "name", callSuper = true)
    

      

    技术分享图片



    @EqualsAndHashCode  equals方法以及hashCode的计算方式

    @Data @ToString@EqualsAndHashCode@Getter and @Setter. 组合提供这些方法

    @Cleanup 进行自动资源管理,修饰在变之前使用完成之后自动关闭资源(文件流)

     @Cleanup ByteArrayOutputStream baos = new ByteArrayOutputStream();

     

    技术分享图片




    @Synchronized 使用在方法上面,方法自动获取锁

    @SneakyThrows  自动抛受检异常,而无需显式在方法上使用throws语句

  3. 官网
    虽然介绍了很多的使用方式,但是估计大家使用的最多的还是@Data 一步到位

    所以有些注解还是观看官方介绍的比较舒服,而且官方介绍的已经足够细致,并且有很多典例可以参考和使用

    地址在:http://jnb.ociweb.com/jnb/jnbJan2010.html
    技术分享图片技术分享图片?

欢迎访问交流群:589780530 
博主交流:2718272293
邮箱:2718272293@qq.com  licunzhi2@gmail.com
github: https://github.com/licunzhi 

Lombok使用(消除复杂的get set)

标签:blog   技术分享   des   href   eset   private   地址   www   测试   

原文地址:https://www.cnblogs.com/licunzhi/p/9646432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!