首页 > 其他分享 >关于Lombok不常见的使用方式

关于Lombok不常见的使用方式

时间:2022-12-04 10:45:25浏览次数:33  
标签:name age 常见 private static 关于 import Lombok lombok

package com.example.cisum.utils;


import lombok.*;
import lombok.experimental.Accessors;
import lombok.experimental.FieldNameConstants;
import lombok.extern.apachecommons.CommonsLog;
import lombok.extern.log4j.Log4j;
import lombok.extern.log4j.Log4j2;
import lombok.extern.slf4j.Slf4j;
import lombok.extern.slf4j.XSlf4j;

import java.io.*;
import java.util.List;

@Slf4j//打印日志
@XSlf4j//打印日志2
@Log4j//打印日志3
@Log4j2//打印日志4
@CommonsLog//打印日志5
public class LombokDemo {

    @Setter
    @Getter
    @EqualsAndHashCode(of = {"name", "age"})//指定哪些字段参与
    @ToString(of = {"name", "age"})//指定哪些字段参与
    @NoArgsConstructor
    @AllArgsConstructor(access = AccessLevel.PRIVATE)//定义构造函数的修饰
    private static class Demo1 {
        private String name;
        private Integer age;
    }

    @Data//geter setter tostring equel..
    @Value
    @Accessors(chain = true, fluent = true)
    private static class Demo2 {
        private String name;
        private Integer age;
    }

    @Data
    @Accessors(chain = true, fluent = true)//fluent 省去getName setName。。
    private static class Demo3 {
        private String name;
        private Integer age;

        public static void main(String[] args) {
            Demo3 demo = new Demo3();
            demo.age(111);//fluent 省去getName setName。。
            demo.name("xxx");

            demo.name("xx").age(11);//chain  链式结构
            System.out.println(demo.age + "-" + demo.name);
        }
    }

    @Builder//构造者模式
    private static class Demo4 {
        private String name;
        private Integer age;
        @Singular("addList")
        private List<String> list;

        public static void main(String[] args) {
            Demo4 demo = Demo4.builder().name("xxx").age(222).addList("aa").addList("bbb").build();
            System.out.println(demo);
        }
    }

    @Synchronized//方法加锁
    private void method2() {

    }

    @SneakyThrows//try catch
    //Cleanup注解   替代close
    private static void copyFileUsingFileStreams(File source, File dest) {
        @Cleanup InputStream input = new FileInputStream(source);
        @Cleanup OutputStream output = new FileOutputStream(dest);
        byte[] buf = new byte[1024];
        int bytesRead;
        while ((bytesRead = input.read(buf)) > 0) {
            output.write(buf, 0, bytesRead);
        }
    }

    @Data//geter setter tostring equel..
    @Accessors(chain = true)
    @FieldNameConstants//获取属性变量名
    private static class Demo6 {
        private String name;
        private Integer age;

        public static void main(String[] args) {
            System.out.println(Fields.name);
            System.out.println(Fields.age);
        }
    }
}

 

标签:name,age,常见,private,static,关于,import,Lombok,lombok
From: https://www.cnblogs.com/charkey/p/16949491.html

相关文章

  • 关于我
    四川初三oier。初一开始学oi,但由于直到初三上学习态度都有大问题并且非常颓,中途还原地AFO了几个月,故相当于初三才开始学习oi,没有获奖记录。此博客用来存题解和笔记,有些笔......
  • 关于mybatis-plus多数据源以及@Transactional使用的注意点
    1.myatis-plus多数据源使用,我用的不是dymanicdatasource,而是自定义的多数据源配置方式,如下图,相信很多人都用过,由于我不是介绍怎么使用多数据源,所以具体的我就不介绍了。......
  • 【C】关于 sizeof 运算符
    sizeof的实现还是比较巧妙地: //如果对象是数组#definesizeof(ARR)((size_t)(&ARR+1)-(size_t)(&ARR))我们都知道: intx=0;shorty=0;......
  • 关于i3-8100安装黑群晖无核显问题
    本人引导是1.04bds918+ 群晖版本6.2.31.操作方法https://www.zxbblog.com/?id=138(需要diskgeniuspro版本,去网上随便下一个)2.补丁下载地址:点我下载 提取码:kox4(DS......
  • 常见算法
    1//算法2//设计将两个递增有序带头结点链表合并为一个有序递减的链表。3//1,2,3,4,54//2,5,9,105voidMergeList(LinkList&La,LinkList&Lb)6{......
  • Rsync报错踩坑记录(一):一次小疏忽引发的麻烦及新手会遇到的三种常见报错原因
    Rsync报错踩坑记录(一)1.三种常见报错原因之一:防火墙问题造成该报错的原因是:客户端和服务端防火墙未放行873端口具体会出现如下错误提示:rsync:failedtoconnectto......
  • 关于分类任务的一些知识点
    对于业务用户来说,希望技术团队完成的是正确分类,区别无分是分成两类还是多类,是一个级别的分类还是多个级别的分类,然后要求准一点。那么什么是准一点呢?也许用户还没有意识到......
  • Astro - 关于某些星到底长什么样子
    变星脉动变星(长周期)造父变星周期造父变星都是已经演化到晚期的红超巨星。星体膨胀到最大时,视向速度最大,星最暗。造父一(仙王座\(\delta\))标准烛光。光变周期\(\rig......
  • CodeReview中常见缩写
    ASAP:AsSoonAsPossible.请尽快完成ACK:Acknowledgement.承认,同意。表示接受代码的改动CR:CodeReview.请求代码审查CCN:CodeCommentsNeeded.需要的代码注......
  • 记录一个异常 Gradle打包项目Lombok不生效 No serializer found for class com.qbb.Us
    完整的错误:03-Dec-202216:57:22.941涓ラ噸[http-nio-8080-exec-5]org.apache.catalina.core.StandardWrapperValve.invoke鍦ㄨ矾寰勪负/ssm鐨勪笂涓嬫枃涓紝Servle......