※ 본 포스팅은 21.10.14에 게시된 글을 이전한 것 입니다.
1. 스프링 컨테이너 생성
`ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);`
ApplicationContext가 스프링 컨테이너이며 인터페이스이다.(다형성 보존)
스프링 컨테이너는 XML 기반으로 만들 수도 있고 애노테이션 기반의 자바 설정 클래스로 만들 수 있다.(위 코드가 자바 설정 클래스)
※ 좀 더 정확히는 스프링 컨테이너를 부를 때 BeanFactory , ApplicationContext로 구분해서 부른다.
하지만 일반적으로 ApplicationContext를 스프링 컨테이너라고 부른다.
※ Appconfig.class는 이전에 만든 기획자 코드
2. 생성과정
1) 컨테이너 생성: new AnnotationConfigApplicationContext(AppConfig.class)
스프링 컨테이너를 생성할 때는 구성 정보를 지정해 주어야 하는데 여기서는 AppConfig를 구성 정보로 지정하였다.
2) 스프링 빈 등록: 파라미터로 넘어온(=AppConfig.class) 구성 정보를 이용하여 스프링 빈을 등록
※ 주의: 빈 이름은 항상 서로 다른 이름을 부여해야 한다.
같은 이름을 부여하면 다른 빈 이 무시되거나, 기존 빈을 덮어버리기 때문에 설정 오류가 날 수 있다.
3) 빈 의존관계 준비 및 설정
설정 정보를 참고해서 의존관계를 주입(DI) 한다.
스프링은 ⑴빈을 생성하고, ⑵의존관계를 주입하는 단계가 나누어져 있다.
그런데 자바 코드로 스프링 빈을 등록하면 생성자를 호출하면서 의존관계 주입이 자동으로 처리된다.
Uploaded by N2T
'📑 개발 이론 > 🌱 SPRING' 카테고리의 다른 글
스프링 핵심 원리 - 싱글톤 (0) | 2023.06.17 |
---|---|
스프링 핵심 원리 - 스프링 빈 (0) | 2023.06.17 |
스프링 핵심 원리 - 객체지향 원리 적용 정리 (0) | 2023.06.17 |
[스프링 핵심원리] OCP와 DIP (0) | 2023.04.18 |
[스프링 핵심원리] SOLID 원칙 (0) | 2023.04.18 |