lombok使用起来非常方便,可以通过@Data注解自动帮我们生成getter和setter方法,但是有时候,实体类中部分属性并不想有get或set方法,或者只允许有pirvate修饰的get或set方法,我们该怎么办呢?
其实非常简单,我们使用AccessLevel
就可以实现lombok使用@Data时排除某些属性生成get或set方法了,我们一起看下以下示例:
@Data
public static class DwsRcbPoint {
private String userId;
/**
* 使用AccessLevel.NONE
* userName属性就不会生成get方法
*/
@Getter(AccessLevel.NONE)
private String userName;
/**
* 使用AccessLevel.PRIVATE
* address属性就会生成private 修饰的set方法
*/
@Setter(AccessLevel.PRIVATE)
private String address;
}
同样的,针对getter和setter方法,AccessLevel还支持AccessLevel.PROTECTED,AccessLevel.PUBLIC等,这里就不在赘述了。
因此,lombok使用@Data时如果排除某些属性生成get或set方法,我们只需要在@Getter或@Setter注解中添加AccessLevel.NONE
属性就行了。