이 포스트를 쉽게 이해하려면 위 포스트를 보고 오시는걸 추천합니다‼️
스프링이 제어권을 가지고 직접 만들고 관계를 부여하는 오브젝트.
빈의 생성과 관계설정 같은 제어를 담당하는 IoC 오브젝트.
보통은 빈 팩토리보다 이를 확장한 애플리케이션 컨텍스트를 주로 사용한다.
IoC 방식을 따라 만들어진 일종의 빈 팩토리이다.
빈 팩토리를 말할 때는 빈을 생성하고 관계를 설정하는 IoC의 기본 기능에 초점을 둔것이고, 애플리케이션 컨텍스트를 말할 때는 애플리케이션 전반에 걸쳐 모든 구성요소의 제어 작업을 담당하는 IoC 엔진이라는 의미가 부각된다.
별도의 정보를 참고해서 빈(오브젝트)의 생성, 관계설정 등의 제어 작업을 총괄한다.
애플리케이션 컨텍스트는 ApplicationContext라는 인터페이스를 구현하는데, ApplicationContext는 빈 팩토리가 구현하는 BeanFactory 인터페이스를 상속했다. 그래서 애플리케이션 컨택스트는 일종의 빈 팩토리인 셈이다.
전 시간 봤던 AFactory 오브젝트처럼 직접 오브젝트를 생성하고 관계를 맺어주는 코드 대신, 그런 생성정보와 연관관계 정보를 별도의 설정정보를 통해 얻는다.
전 시간 AFactory 오브젝트에서 IoC를 적용했었다. 그런데 굳이 애플리케이션 컨텍스트를 사용하는 이유는 무엇일까?
- 오브젝트 팩토리가 아무리 많아져도 이를 알아야 하거나 직접 사용할 필요가 없다.
- 일관된 방식으로 원하는 오브젝트를 가져올 수 있다.
- 단순한 방법으로 애플리케이션 컨텍스트가 사용할 설정정보를 만들 수 있다.
단순 오브젝트 생성과 관계설정만 하진 않는다.
오브젝트가 만들어지는 방식, 시점과 전략을 다르게 가져가거나 이에 부가적인 자동생성,
오브젝트에 대한 후처리 등 다양한 기능을 제공한다.
애플리케이션 컨텍스트의 getBean() 메소드는 빈의 이름을 이용해 빈을 찾아준다.
타입만으로 빈을 검색하거나 특별한 애노테이션 설정이 되어 있는 빈을 찾을 수도 있다.
[토비의 스프링] 스프링 IoC 파헤치기 - 용어 완벽 정리 (0) | 2022.07.22 |
---|---|
[토비의 스프링] 스프링의 IoC 공부 전 꼭 알아야 하는 팩토리 (0) | 2022.07.19 |
[토비의 스프링] 객체지향적 리팩토링을 위한 첫번째 관문, 관심사의 분리 (0) | 2022.07.19 |
[토비의 스프링] 나도 모르게 사용하고 있는 스프링의 기본 구성 (0) | 2022.07.16 |
댓글 영역