인프런 커뮤니티 질문&답변
@autowired 사용 시 @configruation 필요 여부
작성
·
284
1
안녕하세요 강의 듣던 중 궁금함이 생겨 문의드립니다.
@Configuration은 CGLIB을 이용하여 스프링컨테이너의 싱글톤을 보장해준다로 이해하였습니다.
그런데 "@Autowired은 타입이 같은 bean을 찾아 자동주입해준다"를 듣고보니 Autowired가 있을 경우에도 싱글톤이 보장될 거 같아 테스트를 해보니 실제로 싱글톤을 보장해주고 있었습니다. 그렇다면 @Componentscan과 @autowired를 조합할 경우 configuration은 불필요한 애노테이션인가요?
아래 코드에서 Service와 Member에 주입된 Repo 인스턴스가 동일한 인스턴스였습니다.
package mytest; public class MyTestClass{ @ComponentScan static class MyAutoConfig{ } @Component static class Repo{ public Repo(){ System.out.println("Created!"); } } @Component static class Service{ private final Repo repo; @Autowired public Service(Repo repo){ this.repo = repo; } public Repo getRepo(){ return this.repo; } } @Component static class Member{ private final Repo repo; @Autowired public Member(Repo repo){ this.repo = repo; } public Repo getRepo(){ return this.repo; } }
답변 1
0
안녕하세요, 선종우 님. 공식 서포터즈 y2gcoder 입니다.
해당 링크를 참고해주시길 권해드립니다.
https://www.inflearn.com/questions/157309/componentscan-%EC%8B%9C-singleton%EB%B0%A9%EC%8B%9D
감사합니다.






이해했습니다. 감사합니다.