애플리케이션 컨텍스트

CHEESE·2021년 10월 19일
0

애플리케이션 컨텍스트

IoC Container or Spring Container라고도 불린다.
일종의 빈 팩토리이다.
관리할 모든 오브젝트에 대한 생성과 관계설정을 담당한다.
직접 오브젝트를 생성하고 관계를 맺어주는 코드가 없고, 그런 생성정보와 연관관계 정보를 별도의 설정정보를 통해 얻는다.

클래스를 설정 정보로 등록해두고 @Bean이 붙은 메소드의 이름을 가져와 빈 목록을 만든다.
클라이언트가 getBean() 메소드를 호출하면 자신의 빈 목록에서 요청한 이름이 있는지 찾는다.
있다면 빈을 생성하는 메소드를 호출해서 오브젝트를 생성시킨 후 클라이언트에 돌려준다.

장점

클라이언트는 구체적인 팩토리 클래스를 알 필요가 없다.

오브젝트 팩토리가 아무리 많아져도 이를 알아야 하거나 직접 사용할 필요가 없다.
일관된 방식으로 원하는 오브젝트를 가져올 수 있다.
자바 코드를 작성하는 대신 XML처럼 단순한 방법을 사용해 IoC 설정정보를 만들 수 있다.

애플리케이션 컨텍스트는 종합 IoC 서비스를 제공한다.

오브젝트가 만들어지는 방식, 시점, 전략을 다르게 가져갈 수 있다.
자동생성, 오브젝트에 대한 후처리, 정보의 조합, 설정 방식의 다변화, 인터셉팅 등 오브젝트를 효과적으로 활용할 수 있는 다양한 기능을 제공한다.
빈이 사용할 수 있는 기반기술 서비스나 외부 시스템과의 연동 등을 컨테이너 차원에서 제공한다.

애플리케이션 컨텍스트는 빈을 검색하는 다양한 방법을 제공한다.

getBean() 메소드는 빈의 이름을 이용해 빈을 찾아준다.
타입만으로 빈을 검색하거나 특별한 애노테이션 설정이 되어있는 빈을 찾을 수 있다.

출처) 토비의 스프링 3.1

0개의 댓글