• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

스프링 빈 호출시 질문있어요 !!

23.01.21 00:09 작성 조회수 353

2

스프링 부트 쓸때는 그냥 편하게 스프링 빈 가져왔는데

AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class);

DiscountPolicy rateDiscountPolicy = ac.getBean("rateDiscountPolicy",DiscountPolicy.class);

본 강의에서는 이처럼 ac 객체만들고 ac.getBean()해서 들고오는 이유가 뭐죠 ??

 

제 생각에는 클래스 2개가 둘다 스프링 빈 등록시 그냥 편하게 가져와서 쓰면 된다.

하지만 만일 A클래스는 스프링빈 등록 x, B클래스는 스프링 빈 등록 시

A에서 B객체를 들고 올때는 강의와 마찬가지로 ac.getBean()으로 들고와야 한다

혹시 맞나요 ??

 

 

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2023.01.21

안녕하세요. me님, 공식 서포터즈 David입니다.

강의 내에서 application context를 생성하여 사용하는 경우는 대부분 테스트입니다.

application context를 사용하는 것만으로도 충분히 빈을 등록, 조회하는 게 가능하기 때문에 테스트에서 사용하고 있는 것입니다. 일반적인 상황에서는 application context에서 빈을 직접 조회하는 경우는 드뭅니다.

감사합니다.