관리 메뉴

웹개발자의 기지개

[Spring] @RequiredArgsConstructor 생성자 주입 본문

Java/Spring

[Spring] @RequiredArgsConstructor 생성자 주입

http://portfolio.wonpaper.net 2023. 8. 18. 15:31

롬복의 @RequiredArgsConstructor 어노테이션을 가지고 생성자 주입해본다.

 

Spring 4.3 이상에서 @Autowired 생략이 가능한 경우

Spring 에서 Bean 에 대한 생성자가 오직 한개이고, 생성자의 parameter 타입이 Bean 으로 등록되어 있을때

 

 

[ 원래의 생성자 주입 ]

    @Service
    public class BannerServiceImpl implements BannerService {
    
        private BannerRepository bannerRepository;
    
        private CommonFileUtils commonFileUtils;
    
        @Autowired
        public BannerServiceImpl(BannerRepository bannerRepository, CommonFileUtils commonFileUtils) {
            this.bannerRepository = bannerRepository;
            this.commonFileUtils = commonFileUtils;
        }

 

[ @RequiredArgsConstructor 이용 ]

 

    @Service
    @RequiredArgsConstructor
    public class BannerServiceImpl implements BannerService {
    
        private final BannerRepository bannerRepository;
    
        private final CommonFileUtils commonFileUtils;

 

참고 : https://computer-science-student.tistory.com/622

 

참고 : https://velog.io/@developerjun0615/Spring-RequiredArgsConstructor-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%83%9D%EC%84%B1%EC%9E%90-%EC%A3%BC%EC%9E%85 

 

참고 : https://medium.com/webeveloper/requiredargsconstructor-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85-dependency-injection-4f1b0ac33561

 

@RequiredArgsConstructor 를 이용한 의존성 주입(Dependency Injection)

이 어노테이션은 초기화 되지않은 final 필드나, @NonNull 이 붙은 필드에 대해 생성자를 생성해 줍니다. 주로 의존성 주입(Dependency Injection) 편의성을 위해서 사용되곤 합니다.

medium.com

 

 

 

Comments