Spring/Spring Boot

@NoArgsConstructor 과 @RequiredArgsConstructor

민돌v 2021. 11. 25. 17:17

@NoArgsConstructor 


@NoArgsConstructor 어노테이션은 lombok 의 기능 중 하나이다.

Getter, Setter 와 함께 당연시(?)되게 쓰이는 코드를 줄이기위해 쓰이는 어노테이션으로 알고있다.

 

주요기능은, 기본 생성자의 생성이다.

 

  • 파라미터가 없는 생성자를 만든다.
  • 초기 값이 필요한 final 필드가 있을 경우, 컴파일 에러
    • @NoArgsConstructor(force=true) 를 하면, 컴파일 에러를 내지 않고 0 / false / null 로 초기화

 

@RequiredArgsConstructor


@RequiredArgsConstructor 어노테이션은 의존성 주입을 위해 사용한다.

주요 기능은 @NonNull이나 final이 붙은 필드에 대한 생성자를 생성한다.

 

 

 

 


두 어노테이션 모두, 불필요한 코드를 줄이기위한 목적으로 사용된다.


DI란 : https://thalals.tistory.com/217

 

[Spring] 09. DI(의존성 주입) 과 IOC 컨테이너

이번에는 DI - 의존성 주입이라는 스프링의 주요한 기능에대해서 알아보자 후... 너무누무 어려워 DI - Dependence Injection 문자그래도, 의존성의 주입, 독립성의 주입이다. 스프링은 자바언어로 이루

thalals.tistory.com

 

 

 

 

참고 

@requiredargsconstructor : https://lionhead93.github.io/spring/DI-lombok/