Corgi [spring] 스프링에서 @RequiredArgsConstructor 어노테이션의 활용과 장점
본문 바로가기
코딩/스프링(Spring)

[spring] 스프링에서 @RequiredArgsConstructor 어노테이션의 활용과 장점

by 짱아아빠 2023. 6. 17.
반응형

안녕하세요! 이번에는 스프링 프레임워크에서 자주 사용되는 `@RequiredArgsConstructor` 어노테이션에 대해 알아보겠습니다. `@RequiredArgsConstructor` 어노테이션은 생성자 인자에 대한 의존성 주입을 자동으로 처리하는 데 사용됩니다.

1. `@RequiredArgsConstructor` 어노테이션의 역할
   - `@RequiredArgsConstructor` 어노테이션은 롬복(Lombok) 라이브러리에서 제공하는 어노테이션으로, 필드를 기반으로 생성자를 자동으로 생성합니다.
   - 해당 클래스의 필드를 사용하는 생성자를 자동으로 생성하고, 필드에 `final` 키워드가 붙어 있을 경우 해당 필드에 대한 의존성 주입을 처리합니다.

2. `@RequiredArgsConstructor` 어노테이션의 활용 방법
   - `@RequiredArgsConstructor` 어노테이션은 클래스 수준에 적용됩니다. 해당 클래스의 필드를 기반으로 생성자를 자동으로 생성합니다.
   - 롬복 라이브러리를 프로젝트에 추가한 후, `@RequiredArgsConstructor` 어노테이션을 필요한 클래스에 추가합니다.
   - 어노테이션을 추가한 클래스에서는 생성자를 직접 작성할 필요 없이, 필드에 대한 의존성 주입이 자동으로 처리됩니다.

3. `@RequiredArgsConstructor` 어노테이션의 장점
   - 간결한 코드: 롬복의 `@RequiredArgsConstructor` 어노테이션을 사용하면 생성자 코드를 직접 작성할 필요 없이 의존성 주입을 처리할 수 있습니다.
   - 의존성 주입 자동화: `final` 필드에 대한 의존성 주입을 자동으로 처리하여 객체 생성 시 필요한 의존성을 보다 편리하게 주입할 수 있습니다.
   - 가독성 향상: 필드에 대한 생성자 인자를 자동으로 생성하므로, 코드의 가독성이 향상되고 필드의 초기화 작업을 명확하게 할 수 있습니다.

@Service
     @RequiredArgsConstructor
     public class UserService {
         private final UserRepository userRepository;
         // ...
     }

 

반응형


4. 사용 예시
   - 예를 들어, `UserService` 클래스에서 `userRepository` 필드에 대한 의존성 주입을 자동으로 처리하는 경우:

     위의 예시에서는 `userRepository` 필드에 대한 생성자 인자를 자동으로 생성하여 의존성 주입을 처리합니다.

위의 내용을 참고하여 `@RequiredArgsConstructor` 어노테이션의 활용 방법을 구현

해보세요. 이를 통해 스프링 프레임워크에서 의존성 주입을 간소화하고 코드의 가독성을 향상시킬 수 있습니다.

반응형

댓글