lombok 实验性注解之 @FieldNameConstants

最全的 lombok 注解详情(随着版本不定时更新)

一、注解介绍

作用于类,生成一个包含所有成员变量的内部类或者内部枚举,内部类中每个字段值即为字段名,并且内部类字段值不可变

二、属性介绍(非必选)

  • value:设置内部类或者枚举的访问控制符,默认为 public
    共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONE
    MODULE 是 Java 9 的新特性,NONE 表示不生成 setter 方法,即停用注解功能
  • asEnum:是否为枚举类型,默认 false
  • innerTypeName:设置内部类或枚举名,默认值:"",默认内部类名:Fields
  • onlyExplicitlyIncluded:仅包含标记为 @ToString.include 的字段,默认为 false
  • Include:设置包含哪些字段
    Include 只有在 onlyExplicitlyIncluded = true 时才会生效,Include 标记在需要包含的属性或方法上
    当 onlyExplicitlyIncluded = true 时,则必须搭配 Include 使用,否则没有任何效果
  • Exclude:设置不包含哪些字段

三、实战演练

@FieldNameConstants(innerTypeName = "天爱", asEnum = true, level = AccessLevel.PRIVATE, onlyExplicitlyIncluded = true)
public class 张天爱 {
	@FieldNameConstants.Include
	private String name;
	
	@FieldNameConstants.Exclude
	private Integer age;
	
	public static void main(String[] args) {
		System.out.println(天爱.name);
	}
}

四、温馨提示

当 onlyExplicitlyIncluded = true 时需要搭配 @FieldNameConstants.Include 使用,这个时候就没有必要用 @FieldNameConstants.Exclude,因为字段不加 @FieldNameConstants.Include 将都不会显示

上一篇:MyBatis之使用注解开发


下一篇:SpringMVC 父项目pom.xml 中,由于Maven可能存在资源过滤问题,我们将配置完善,写上Mapper文件过滤、SpringMVC配置文件、SpringMVc web.xml、lombok