@Log4j2和@Slf4j到底是哪方神圣
Posted 架构师知音
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Log4j2和@Slf4j到底是哪方神圣相关的知识,希望对你有一定的参考价值。
阅读文本大概需要3分钟。
悔恨认识lombok插件太晚。java作为开放源码的语言,所以像GitHub和gitee这些开源的代码仓库有大量优秀的开源系统项目,小编也经常逛这些开源仓库,但是有时也有疏忽大意的时候。就像@Log4j2和@Slf4j这两个注解,经常在一些开源项目看到,但是自己没有去深究,终于在最近在一个朋友项目看到了,而且也用上了,发现了支持@Log4j2和@Slf4j这两个注解的插件lombok非常强大。不仅仅是这两个注解,还提供了大量的其他注解,帮代码减少重复无用的代码开发。
lombok官网
https://projectlombok.org/
lombok常用注解
@Data注解在类上,自动为所有字段添加@ToString,@EqualsAndHashCode,@Getter为非final字段添加@Setter和
@RequiredArgsConstructor本质上相当于几个注解的综合效果
@Getter注解在属性(类)上,为属性(所有非静态成员变量)提供get()方法
@Setter注解在属性(类)上,为属性(所有非静态成员变量)提供set()方法
@ToString 该注解的作用是为类自动生成toString()方法
@EqualsAndHashCode为对象字段自动生成hashCode()和equals()实现
@AllArgsConstructor,@RequiredArgsConstructor,@NoArgsConstructor顾名思义,为类自动生成对应参数的构造器
@Log,@Log4j,@Log4j2,@Slf4j,@XSlf4j,@CommonsLog,@JBossLog注解在类上,自动为类添加对应的日志支持
@NonNull注解在方法参数上,用于自动生成空值参数检查,自动帮助我们避免空指针
@Cleanup自动帮我们调用close()方法,作用在局部变量上,在作用域结束时会自动调用close()方法释放资源,可以关闭流
@Builder注解在类上,被注解的类加个构造者模式Synchronized 注解在类上,加个同步锁
@SneakyThrows等同于try/catch捕获异常
@Value注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set()方法
lombok如何使用
使用lombok是需要安装的,如果不安装,IDE则无法解析lombok注解,有两种方式可以安装lombok;
①.在命令行中执行 java -jar lombok.jar包的位置,比如:java -jar D:/lombok.jar 弹出选择IDE安装路径的提示框,选择IDE的安装路径后,点击install/update 即可安装。安装完成后,eclipse的安装目录下,有lombok.jar包,并且eclipse.ini中有如下两行,则表示安装成功。
②.第二种安装方式就是就是手动安装,即将lombok.jar包拷贝到eclipse的安装目录下,并且在eclipse.ini文件中添加如下两行。
-Xbootclasspath/a:lombok.jar --备注:如果没有这一行也是没问题的
-javaagent:lombok.jar
重启eclipse即可。但是在你的项目中想要lombok的注解生效,你还需要把lombok.jar加入到你的项目中,如果是maven项目,则在pom文件中添加如下代码:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>
☆
往期精彩
☆
01
02
03
关注我
每天进步一点点
你点的每个好看,我都认真当成了喜欢
以上是关于@Log4j2和@Slf4j到底是哪方神圣的主要内容,如果未能解决你的问题,请参考以下文章