@Accessors(chain = true)
是 Lombok 提供的一个注解,它用于生成链式调用的 setter 方法。当你在类上使用 @Accessors(chain = true)
注解时,Lombok 会为该类的每个属性生成一个返回当前对象(this
)的 setter 方法,这样就可以在一个表达式中连续调用多个 setter 方法,实现链式操作。
以下是 @Accessors(chain = true)
的一些关键点:
-
链式调用:通过设置
chain = true
,生成的 setter 方法会返回当前对象的引用,允许连续调用多个 setter 方法。例如:@Data @Accessors(chain = true) public class User { private Integer id; private String name; private Integer age; }
使用时可以这样链式设置属性:
User user = new User().setAge(31).setName("www");
-
与
@Data
注解配合使用:通常与@Data
注解一起使用,@Data
注解会生成所有属性的 getter 和 setter 方法,以及toString
、equals
和hashCode
方法。 -
默认行为:当使用
@Accessors(fluent = true)
时,默认chain = true
,即也会生成链式调用的 setter 方法,但方法名不包含set
前缀。 -
自定义前缀:
@Accessors
注解还可以通过prefix
属性来指定字段的前缀,这样在生成 getter 和 setter 方法时会忽略这个前缀。
使用 @Accessors(chain = true)
可以减少样板代码,使代码更加简洁和易于维护。不过,需要注意的是,使用 Lombok 时,要确保你的开发环境已经安装了 Lombok 插件,以便正确处理这些注解。