작성
·
215
0
질문내용들을 읽어보니 저랑 비슷하게 질문한글들을 몇개 봤는데 이해가 아직 앋가서요 ㅠㅠ testBean 클래스는 지난강의에 알려주셨던 임의의 클래스를 스프링이 생성해서 스프링빈에 등록된다는건 이해했습니다 !!
근데 @bean 어노테이션이 없는데 autowired 만으로도 bean 객체가 생성되는건가요..?
=======================================================================================================================================
잠깐 일중에 생각을 좀 해봤는데요 !!
TestBean 클래스 자체가 빈객체라고 보면
MemberSerivceImpl 클래스 에서 필요한 MemberRepository를 autowired로 스프링이 자동 주입해주듯이
TestBean 클래스에서 autowired 어노테이션이 붙은 애들도 자동주입해주는거라 보면 될거같은데 맞게 이해한건가요..?
답변 1
2
안녕하세요. 원석나님^^
먼저 이 부분을 설명드려야겠네요.
ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class);
여기에서 AnnotationConfigApplicationContext 자체가 바로 스프링 컨테이너 입니다.
그리고 스프링 컨테이너에 빈을 등록하는 방법이 여러가지가 있는데, 지금처럼 바로 생성자에 TestBean.class를 넣어버리면, TestBean이 스프링 빈으로 등록됩니다!
@Bean, @ComponentScan처럼 위 코드도 스프링 컨테이너에 스프링 빈으로 등록됩니다.
감사합니다.