인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

원석나님의 프로필 이미지
원석나

작성한 질문수

스프링 핵심 원리 - 기본편

옵션 처리

@autowired 가 이해가 잘 안가는데요

작성

·

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처럼 위 코드도 스프링 컨테이너에 스프링 빈으로 등록됩니다.

감사합니다.

원석나님의 프로필 이미지
원석나

작성한 질문수

질문하기