스프링

[스프링 핵심 원리] 스프링으로 전환하기

코딍코딍 2022. 5. 13. 21:20

스프링 컨테이너

  • ApplicationContext 를 스프링 컨테이너라 한다.
  • 스프링 컨테이너는 @Configuration 이 붙은 AppConfig 를 설정(구성) 정보로 사용한다. 여기서 @Bean 이라 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다. 이렇게 스프링 컨테이너에 등록된 객체를 스프링 빈이라 한다.
  • 스프링 빈은 @Bean 이 붙은 메서드의 명을 스프링 빈의 이름으로 사용한다. (@Bean public void test(){} 의 빈 이름은 test)
  • 이전에는 개발자가 필요한 객체를 AppConfig 를 사용해서 직접 조회했지만, 이제부터는 스프링 컨테이너를 통해서 필요한 스프링 빈(객체)를 찾아야 한다. 스프링 빈은 applicationContext.getBean() 메서드를 사용해서 찾을 수 있다.

 

//MemberApp.class

//스프링 컨테이너 생성 후 AppConfig 클래스의 @Bean붙은 메서드를 스프링 빈으로 등록
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);

MemberService memberService = applicationContext.getBean("memberService", MemberService.class); //가져올 빈 이름, 해당 빈의 타입