zoukankan      html  css  js  c++  java
  • lombok + slf4j + log4j2

    1.lombok插件介绍

      参考  https://blog.csdn.net/a2267378/article/details/81180373,    https://www.cnblogs.com/heyonggang/p/8638374.html

    2.安装

      jar包依赖

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.8</version>
                <scope>provided</scope>
            </dependency>

      IDEA需要同时下载插件

      选择从浏览器下载,安装后重启即可

    3.使用

    import lombok.extern.slf4j.Slf4j;
    
    @Slf4j
    public class Test1 {
    
        public static void main(String[] args) {
            log.trace("trace11111111111");
            log.debug("debug11111111");
            log.info("ino11111111111");
            log.warn("dddddddddddddddddd");
            log.error("eeeeeeeeeeeeeeeee");
            try {
                int a=1/0;
            } catch (Exception e) {
                log.error(e.getMessage(),e.fillInStackTrace());
            }
        }
    }

    4.常用注解

      @Data  (少用) :注解在类上;包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供类所有属性的 getter 和 setter 方法,此外还提供了equals、canEqual、hashCode、toString 方法

      @Setter:注解在属性上;为属性提供 setter 方法

      @Getter:注解在属性上;为属性提供 getter 方法

      @ToString:注解在类上;生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"}) 

      @EqualsAndHashCode:注解在类上;生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。

      @NonNull:  注解在属性上;标识属性是不能为空,为空则抛出异常。

      @Slf4j :注解在类上;根据用户实际使用的日志框架生成log日志对象。

      @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象

      @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法。当类中有final字段没有被初始化时,编译器会报错,

      @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

      @RequiredArgsConstructor:注解在类上;会生成构造方法(可能带参数也可能不带参数),如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段@RequiredArgsConstructor(staticName = "of")会生成一个of()的静态方法,并把构造方法设置为私有的。

      @Builder:效果同构建者模式的Builder

    import lombok.Builder;
    
    @Builder
    public class Stu {
        private int id;
        private String name;
        private String hometown;
        public String toString(){
            return "id="+this.id+";name="+this.name+";hometown="+this.hometown;
        }
        public static void main(String[] args) {
            Stu s=new Stu.StuBuilder().hometown("81").id(1).name("a").build();
            System.out.println(s.toString());
        }
    }
  • 相关阅读:
    Python爬取并分析B站最热排行榜,我发现了这些秘密
    Pycharm 实现远程部署和调试,原来这么简单
    《演员请就位2》弹幕的情感倾向分析
    下个十年,Python 的“王者”地位还能保住吗?
    致初学者:如何学好Python这门编程语言?
    用Python爬取英雄联盟(lol)全部皮肤
    Python很慢?Python之父一句话亮了
    Python 国产库推荐之 musicpy
    利用VS Code进行远程开发,就问你香不香?
    包名规范
  • 原文地址:https://www.cnblogs.com/yjh1995/p/11995517.html
Copyright © 2011-2022 走看看