[Spring] 어플리케이션 컨텍스트 동작방식

스프링의 어플리케이션 컨텍스트는 IoC컨테이너라고 하기도 하고, 간단히 스프링 컨테이너라고 부르기도 한다. 또는 빈팩토리

 

어플리케이션 컨택스트를 사용했을 때 장점

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

어플리케이션이 거대해지면 여러가지 Factory가 추가 될 것이고 클라이언트가 필요한 오브젝트를 가져오려면 어떤 팩토리 클래스를 사용해야 하는지 알아야 하고, 필요할 때마다 오브젝트를 생성해야 하는 번거로움이 있다.

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

단지 오브젝트의 생성, 관계설정 뿐만아니라, 만들어지는 방식, 시점, 전략을 다양하게 가져갈 수 있고, 부가적으로 자동생성, 후처리, 조합,설정방식의 다변화, 인터셉팅 등 오브젝트를 효과적으로 사용할 수 있다.

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

 

 

싱글톤 레지스트리로서의 어플리케이션 컨텍스트


어플리케이션 컨텍스트는 이전 오브젝트 팩토리와 비슷한 방식으로 동작하는 IoC 컨테이너이다. 그러면서 동시에 이 어플리케이션 컨텍스트는 싱글톤을 저장하고 관히하는 싱글톤 레지스트리 이다.

*기본적으로 별다른 설정이 없다면 내부에서 생성하는 빈 오브젝트를 모두 싱글톤으로 만든다.

 

 

스프링 빈의 스코프


스프링 빈의 기본 스코프는 싱글톤이다. 싱글톤 스코프는 컨테이너 내에 한 개의 오브젝트만 만들어져서, 강제로 제거 하지않는 한 스프링 컨테이너가 존재하는 동안 계속 유지된다. 스프링에서 만들어지는 대부분의 빈은 싱글톤 스코프를 갖는다.

프로토타입 스코프는 싱글톤과 달리 컨테이너에 빈을 요청할 때마다 새로운 오브젝트를 만들어준다. 그 외에도 웹을 통해 새로운 HTTP 요청이 생길 때마다 생성되는 요청스코프가 있고, 웹의 세션과 스코프가 유사한 세션 스코프도 있다.

'Programming > Spring' 카테고리의 다른 글

[String] XML을 이용한 설정  (0) 2019.06.26
[Spring] 의존 관계 주입 (DI)  (0) 2019.06.25
[Spring] 제어의 역전(IoC)  (0) 2019.06.22
[Spring] 확장 및 클래스의 분리  (0) 2019.06.22
[Spring] 중복코드의 제거  (0) 2019.06.22

댓글

Designed by JB FACTORY