一边录vlog一边学。
将道理,还蛮简单。
初始
这个框架的作用是简化你的工作量,经常要复用的代码它可以为你自动生成,仅仅需要一个简单的注解。
- 消除模板代码
- getter/setter
- 构造器
- toString()
- equals()
- 便捷的生成比较复杂的代码,例如一个POJO要转化成构建器模式的形式,只需要一个注解。
引入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
如果想让lombok生效我们还需要针对idea工具进行插件的安装,下面我们按照顺序打开Idea配置File > Settings > Plugins > Browse repositories… > 输入lombok,插件就会被自动检索出来,界面如下图1所示:
作者:滔滔逐浪 链接:https://www.jianshu.com/p/3a7d1f9cb959 来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
应用
可以测试写一个实体类,测试一下。
@Data
public class User {
//这样就不用写getter/setter了
private String name;
private int age;
}
@Test
public void testUser(){
User user = new User();
user.setName("AnyCode");
user.setAge(20);
System.err.println(user.toString());
}
其他常用注解
@NonNull
: 让你不在担忧并且爱上NullPointerException
@CleanUp
: 自动资源管理,不用再在finally中添加资源的close方法
@Setter/@Getter
: 自动生成set和get方法
@ToString
: 自动生成toString方法
@EqualsAndHashcode
: 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
:自动生成构造方法
@Data
: 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法【话说只要它就差不多了】
@Value
: 用于注解final类
@Builder
: 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized
: 同步方法安全的转化
@Getter(lazy=true) :
@Log
: 支持各种logger对象,使用时用对应的注解,如:@Log4j
在 Bean / Entity 类上使用
@Data
注解。
需要使用 Log 对象的地方使用 @Log4j(依项目日志框架决定)。
@EqualsAndHashCode,@ToString
:告诉Lombok来生成 equals, hashCode方法,toString方法【在生成这些方法的时候lombok会使用所有的成员变量。
@AllArgsConstructor
:会自动创建一个包括所有成员的构造器。
@Getter/@Setter
: 注解会为每一个标记的成员变量自动生成对应的方法。