lombok原理
lombok生命周期
lombok安装
使用maven引入相关依赖,安装idea插件
常用注解
@Getter/Setter
观察源码可知:有个默认参数AccessLevel 控制访问级别
@Target({ElementType.FIELD, ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface Getter {
AccessLevel value() default AccessLevel.PUBLIC;
Getter.AnyAnnotation[] onMethod() default {};
boolean lazy() default false;
/** @deprecated */
@Deprecated
@Retention(RetentionPolicy.SOURCE)
@Target({})
public @interface AnyAnnotation {
}
}
@ToString()
-exclude:表示要排除的字段
-of:指定显示的字段
@EqualsAndHashCode()
生成equals和HashCode方法
-exclude:排除比较的字段
-of:指定比较的字段
@NoArgsConstructor:无参构造
@RequiredArgsConstructor (被final和NonNull修饰的参数1)
@AllArgsConstructor全参构造
@Data
集成基本注解(get/set tostring,RequiredArgsConstructor,EqualsAndHashCode ),简化繁多注解
@Builder
构建者模式创建对象,倾向于链式编程
@Log
提供日志对象
val:用于声明不定变量
例如:val map = new Hash<String,String>();
@Cleanup
清理对象,常用于流对象关闭等操作