1.相关介绍
Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等, 同时可以自动化日志变量。
2.安装步骤
1.添加依赖
在pom.xml中添加lombok的依赖

- <!--lombok依赖-->
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </dependency>
2.安装插件
IDEA中 File->Settings->Plugins,搜索安装Lombok插件。

安装完成,重启IDEA

如果编译时出错,可能是没有enable注解处理器。Annotation Processors > Enable annotation processing。设置完成之后程序正常运行(记得设置完成重启一下IDEA)。

3.使用注解
Lombok注解文档: https://projectlombok.org/features/all
Lombok提供注解方式来提高代码的简洁性,常用注解有:
注解 | 作用 |
---|
@Data | 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。 |
@Setter | 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。 |
@Getter | 使用方法同上,区别在于生成的是getter方法。 |
@AllArgsConstructor | 注解在类,生成包含类中所有字段的构造方法。 |
@NoArgsConstructor | 注解在类,生成无参的构造方法。 |
@ToString | 注解在类,添加toString方法。 |
@NonNull | 这个注解可以用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常。 |
@EqualsAndHashCode | 注解在类,生成hashCode和equals方法。 |
@Log | 这个注解用在类上,可以省去从日志工厂生成日志对象这一步,直接进行日志记录,具体注解根据日志工具的不同而不同,同时,可以在注解中使用topic来指定生成log对象时的类名。不同的日志注解总结如下(上面是注解,下面是实际作用): |
- @CommonsLog
- private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
- @JBossLog
- private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class);
- @Log
- private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
- @Log4j
- private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class);
- @Log4j2
- private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
- @Slf4j
- private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
- @XSlf4j
- private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);
下面演示几个注解的使用
使用注解前
User
- package com.limi.entity;
- public class User {
- private Integer id;
- private String userName;
- private String passWord;
- public User(){}
- public User(Integer id, String userName, String passWord) {
- this.id = id;
- this.userName = userName;
- this.passWord = passWord;
- }
- @Override
- public String toString() {
- return "User{" +
- "id=" + id +
- ", userName='" + userName + '\'' +
- ", passWord='" + passWord + '\'' +
- '}';
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public String getPassWord() {
- return passWord;
- }
- public void setPassWord(String passWord) {
- this.passWord = passWord;
- }
- }
使用注解, 效果和上面一致, 大大减少了代码量
User
- package com.limi.entity;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- @Data
- @AllArgsConstructor
- @NoArgsConstructor
- public class User {
- private Integer id;
- private String userName;
- private String passWord;
- }
测试
- package com.limi;
- import com.limi.entity.User;
- import lombok.extern.log4j.Log4j2;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- @Log4j2
- @SpringBootApplication
- public class MainApplication {
- public static void main(String[] args) {
- SpringApplication.run(MainApplication.class, args);
- User user = new User(1, "andy", "123456");
- log.info(user); //使用Lombok的@Log4j2注解, 可以直接使用log
- }
- }

到此这篇关于SpringBoot图文并茂讲解Lombok库的安装与使用的文章就介绍到这了,更多相关SpringBoot Lombok库内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!