[java] 롬복에서 하나의 세터 / 게터 생략

롬복에서 데이터 클래스를 사용하고 싶습니다. 약 12 개의 필드가 있기 때문에 @Data모든 세터와 게터를 생성하기 위해 주석을 달았습니다 . 그러나 접근자가 구현되기를 원하지 않는 특별한 필드가 하나 있습니다.

롬복은 어떻게이 분야를 생략합니까?



답변

@Getter@Setter주석에 액세스 수준을 전달할 수 있습니다 . 게터 나 세터를 보호하거나 비공개로 만드는 데 유용합니다. 기본값을 재정의하는 데에도 사용할 수 있습니다.

을 사용하면 @Data기본적으로 접근 자에 대한 공개 액세스 권한이 있습니다. 이제 다음과 같이 특수 액세스 수준 NONE을 사용하여 접근 자를 완전히 생략 할 수 있습니다 .

@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private int mySecret;


답변

@Data description 에 따르면 다음을 사용할 수 있습니다.

생성 된 모든 게터와 세터는 공개됩니다. 액세스 수준을 무시하려면 명시 적 @Setter 및 / 또는 @Getter 주석으로 필드 나 클래스에 주석을 답니다. 또한이 어노테이션을 사용하여 (액터 레벨 .NONE과 결합하여) 게터 및 / 또는 세터 생성을 완전히 억제 할 수 있습니다.


답변

setter 및 getter를 비공개로 설정 한 경우 PMD 검사에 나타납니다.


답변