본문 바로가기
IT/java

Lombok annotation 정리

by 허브큐 2021. 10. 21.

접근자

@Getter

--

설정자

@Setter

--

생성자

@NoArgsConstructor

  • 파라미터 없는 빈 생성자 생성
  • 사용 시 주의 사항
    • 필드들이 final로 생성되어 있는 경우에는 필드를 초기화할 수 없기 때문에 생성자를 만들 수 없고 에러가 발생한다. → @NoArgsConstructor(force=true) 옵션을 이용해 final 필드를 강제 초기화 시켜 생성자를 만들 수 있다.
    • @Nonnull 같이 필드에 제약조건이 설정되어 있는 경우, 추후 초기화를 진행하기 전까지 생성자 내 null-check 로직이 생성되지 않는다.

@AllArgsConstructor

  • 모든 파라미터를 받는 생성자 생성

@RequiredArgsConstructor

  • final이나 @NotNull이 붙은 변수들을 가진 생성자 생성
  • 변수 정의에 final이나 @NotNull이 없는 경우 이 어노테이션을 사용하면 오류 발생

--

@Data 

  • Getter, Setter, RequiredArgsConstructor, ToString, EqualsAndHashCode, Value를 한꺼번에 설정해주는 어노테이션

--

@Builder 

  • 클래스를 인스턴스화하는데 필요한 코드를 자동으로 생성하는 어노테이션
  • Person.builder()
      .name("Adam Savage")
      .city("San Francisco")
      .job("Mythbusters")
      .job("Unchained Reaction")
      .build();

--

Reference

'IT > java' 카테고리의 다른 글

Spring boot + Swagger 3.0  (0) 2021.04.13
eclipse에서 svn offline 설치하기  (0) 2020.04.28
Spring Boot study  메모  (0) 2019.02.27
Restful API  (0) 2017.12.23

댓글