Spring
Spring Container의 생성 과정
dev-rootable
2023. 5. 4. 15:50
1. 스프링 컨테이너를 생성한다.
스프링 컨테이너를 생성할 때는 @Configuration 애노테이션을 붙인 설정(구성) 파일을 지정해야 한다.
- key: 빈 이름
- value: 빈 객체
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
2. 스프링 빈 등록
스프링 컨테이너는 파라미터로 넘어 온 설정 클래스 정보를 사용해서 스프링 빈을 등록한다.
- 메서드 명 : Bean 이름 (직접 부여 가능 -> @Bean(name = "memberService2"))
- 반환 객체: Bean 객체
스프링 컨테이너는 설정 파일에 대해 자바, XML 형식을 모두 지원한다. 이것은 BeanDefinition 이라는 추상화를 통해 가능하다. 스프링 컨테이너는 오직 @Bean, <bean> 당 각각 하나씩 생성되는 메타 정보 BeanDefinition을 기반으로 스프링 빈을 생성하므로 구체적인 설정 형식을 몰라도 된다.
=> 스프링은 다양한 형식의 설정 파일을 BeanDefinition으로 추상화해서 사용한다.
📢 빈 이름은 중복되면 안됨
3. 스프링 빈 의존 관계 설정 - 준비
4. 스프링 빈 의존 관계 설정 - 완료
1) 스프링 컨테이너는 설정 정보를 참고해서 의존 관계를 주입(DI)한다.
2) 자바 코드로 스프링 빈 등록 ➡ 생성자를 호출하면서 DI도 한 번에 처리됨
3) 즉, 스프링 빈 생성과 DI가 한 번에 이루어진다는 것
Reference:
스프링 핵심 원리 - 기본편 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런
www.inflearn.com