0
点赞
收藏
分享

微信扫一扫

Lombok核心注解总结(二)



文章目录


  • ​​一、如何添加Lombok?​​

  • ​​1、引入包​​
  • ​​2、IDEA添加Lombok​​

  • ​​二、Lombok注解​​

  • ​​1、@Slf4j​​
  • ​​2、@Data​​
  • ​​3、@Getter/@Setter​​
  • ​​4、@ToString​​
  • ​​5、@RequiredArgsConstructor​​
  • ​​6、@NonNull​​
  • ​​7、@Value​​
  • ​​8、@AllArgsConstructor​​
  • ​​9、@NoArgsConstructor​​



一、如何添加Lombok?

1、引入包

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

2、IDEA添加Lombok

点击File-- Settings设置界面,然后在左侧找到Plugins, 在右侧找到Lombok点击安装即可。

Lombok核心注解总结(二)_注解

二、Lombok注解

​​Lombok注解文档​​

​​Lombok官方下载​​

Lombok核心注解总结(二)_Lombok_02

1、@Slf4j

作用:@Slf4j是用作日志输出的,一般会在项目每个类的开头加入该注解。可以在项目的配置文件中配置日志输出的地址,一般会用在接口层和关键的业务层。

在正常的日志输出会写一行长的代码,如下所示:

private final Logger logger = LoggerFactory.getLogger(当前类名.class);

为了节省代码,我们可以用​​@Slf4j​​来代替这一行代码。

应用代码:

@Slf4j
public class BookController {
log.info("这是日志输出");
}

2、@Data

作用: 主要用于实体类上,是以下注解的集合:​​@ToString​​​、 ​​@EqualsAndHashCode​​​、​​@Getter​​​ 、​​@Setter​​​、 ​​@RequiredArgsConstructor​

应用代码:

@Data
public class Book {
private String userName;
private String passWord;
}

3、@Getter/@Setter

作用: 作用类上,生成所有成员变量的​​getter/setter​​​方法;作用于成员变量上,生成该成员变量的​​getter/setter​​方法。可以设定访问权限及是否懒加载等。

应用代码:

@Getter
@Setter
public class Book {
String title;
String author;
}

相当于:

public class Book {
String title;
String author;

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getAuthor() {
return author;
}

public void setAuthor(String author) {
this.author = author;
}
}

4、@ToString

作用: 作用于类,覆盖默认的​​toString()​​方法,默认情况下,将打印所有非静态字段。如果要跳过某些字段,可以用注释这些字段​​@ToString.Exclude​​。另外,可以使用精确指定要被toString方法包含的字段,先设置​​@ToString(onlyExplicitlyIncluded = true)​​,然后使用​​@ToString.Include​​标记每个要包含的字段。

应用代码:

@Getter
@Setter
@ToString
public class Student {
private String name;
private int age;
}

5、@RequiredArgsConstructor

作用: 在我们写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口,这时候就会写很多的​​@AutoWired​​​注解,代码看起来很乱,所以使用​​@RequiredArgsConstructor(onConstructor =@_(@Autowired))​​​,写在类上可以代替​​@AutoWired​​​注解,需要注意的是在注入时需要用final定义,或者使用​​@notnull​​注解。

应用代码:

@RequiredArgsConstructor
public class User {
private final String userName;
@NonNull
private String passWord;
}

6、@NonNull

作用: 主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。

应用代码:

@Data
public class User {
private final String userName;
@NonNull
private String passWord;
}

7、@Value

作用:​@Value​​的作用是通过注解将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值。

应用代码:

@Value("normal")
private String normal; // 注入普通字符串

8、@AllArgsConstructor

作用: 生成全参构造器

应用代码:

@Data //生成getter,setter等函数
@AllArgsConstructor //生成全参数构造函数
public class Book {
String name;
String age;
}

9、@NoArgsConstructor

作用: 生成无参构造函数

应用代码:

@Data //生成getter,setter等函数
@NoArgsConstructor//生成无参构造函数
public class Book {
String name;
String age;
}

以上只是对Lombok部分注解做了简单的解释和应用,具体实践操作还是要根据项目的需要去应用,去看源码研究原理。

上一篇:Java开发核心注解总结(一)

下一篇:Mybatis核心注解总结(三)

有什么问题欢迎和我交流。微信公众号​码上言​​获得更多的学习。

Lombok核心注解总结(二)_日志输出_03



举报

相关推荐

0 条评论