首页 > 其他 > 详细

idea使用lombok

时间:2019-04-01 20:40:48      阅读:116      评论:0      收藏:0      [点我收藏+]

好处:简化代码,增强代码可读性,提高开发效率。lombok注解使编译时注解,在编译成.class的时候帮我们自动转化成相应的代码。其实他的魅力并不在于帮助我们简单的编写对应的getter或者更多的方法,还有一点在于,当我们的字段发生改变时,lombok也会对相应的getter方法进行改变。

1.安装插件LomBok Plugin

技术分享图片

2.配置idea编译器,支持注解编译

技术分享图片

3.引入Lombok依赖

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>

4.使用

技术分享图片

ALT+7打开类的结构图我们可以看到ComBok的@Data帮我们自动生成了常用代码

5.Lombok注解详解

  @Data

  生成JavaBean需要的所有方法;截图如4

注解源码如下:

技术分享图片
package lombok;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.SOURCE)
public @interface Data {
    String staticConstructor() default "";
}
View Code

我们看源码及其注释发现

1.目标Type

2.注解类型 Source

属性staticConstructor ,默认为空串,没有静态工厂方法,构造共有。而注解中介意我们staticConstructor赋值“of”:作用是私有构造,用静态工厂方法of()创建实例。

技术分享图片

@Getter

  自动生成所有字段的getter方法

技术分享图片

注解源码如下:

技术分享图片
package lombok;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.FIELD, ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface Getter {
    lombok.AccessLevel value() default lombok.AccessLevel.PUBLIC;
    
    AnyAnnotation[] onMethod() default @AnyAnnotation;
    
    boolean lazy() default false;
    
    @Deprecated
    @Retention(RetentionPolicy.SOURCE)
    @Target({})
    @interface AnyAnnotation {}
}
View Code

 

 

@Setter

  自动生成所有字段的setter方法

技术分享图片

@NoArgsConstructor注解

生成无参构造

技术分享图片

@AllArgsConstructor

生成全参构造

 技术分享图片

 

idea使用lombok

原文:https://www.cnblogs.com/chengxuyuan-liu/p/10638624.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!