Skip to content

Lombok 사용 가이드

Photogrammer edited this page Aug 30, 2024 · 5 revisions

Setter

  • class 의 상단에 Setter를 사용하지 않는다.
  • 해당 클래스의 필드에서 어떤 값이 mutable 하고 어떤 값이 immutable 한지 명확하게 드러내야한다.
  • 따라서 변경가능한 값에 대해서만 setter 를 지정하자.

EqualsAndHashCode

  • EqualsAndHashCode 의 경우 Entity 에 대해서는 절대 적용하지 말자. (ID 로 구분되기 때문)
  • 또한 객체를 몇 가지 필드로 구분이 가능한 경우가 많은데, 이런 경우에도 직접 IntelliJ 의 생성 기능을 이용해서 만들자.

Entity

@Entity(name = "table_name")
@Getter
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
  • @Setter 의 경우 "필요한 부분" 에만 적용해야합니다.

Service / Controller

  • private final로 autowired 되는 방식을 사용합니다.
  • 따라서 @RequiredArgsConstructor 를 사용합니다.

참고링크

내가 DTO에 @Getter, @Setter를 적용했던 이유

[Spring] ObjectMapper의 동작 방식과 SpringBoot가 제공하는 추가 기능들

2) 스프링부트로 웹 서비스 출시하기 - 2. SpringBoot & JPA로 간단 API 만들기

생성 메서드 setter 질문 - 인프런(김영한)