Method Injection은 Setter Injection과 Constructor Injection이 가지고 있는 한계점을 극복하기 위하여 Spring 프레임워크 1.1 버전에서 새롭게 지원하고 있는 DI의 한 종류이다.
Spring 프레임워크는 애플리케이션이 시작될 때 빈 설정 파일에 저장되어 있는 정보들을 읽어 초기화하는 과정을 한번만 실행하게 된다. 그런데 Spring 프레임워크가 기본적으로 빈의 인스턴스를 관리하는 방식은 Singleton이다. 즉, Singleton으로 인스턴스를 한번 생성하게 되면 이 빈은 재생성없이 계속해서 재사용 된다.
만약 이 상태에서 Singleton 인스턴스와 Non Singleton 인스턴스의 의존관계를 연결할 필요성이 생긴다면 어떻게 될까? Singleton 인스턴스와 Non Singleton 인스턴스가 의존관계로 엮인다고 하더라도 Non Singleton 인스턴스는 항상 Singleton 인스턴스처럼 사용되는 문제점을 가지게 된다. 이와 같은 문제점을 해결하기 위한 방법으로 Method Injection이 탄생하게 되었다.
Method Injection은 Singleton 인스턴스와 Non Singleton 인스턴스의 의존관계를 연결시킬 필요가 있을 때 사용할 수 있는 DI의 한 종류이다.
Method Injection을 사용하는 빈도수가 많지 않은 관계로 이 책에서 추가적인 설명은 생략하도록 하겠다. Method Injection에 대한 더 상세한 설명은 Spring 프레임워크의 Reference 문서를 참고하기 바란다.
http://openframework.or.kr/framework_reference/spring/ver1.2.2/html/beans.html#beans-factory-method-injection : Spring 프레임워크의 Reference 문서 번역본
지금까지 IoC 의 개념과 IoC의 분류체계에 대하여 살펴보았다. IoC는 컨테이너 내부에서 이미 많이 사용되어왔으므로 Spring 프레임워크에서 새로운 개념으로 만들어진 것이 아니다. Spring 프레임워크에서 지원하고 있는 IoC 유형은 Dependency Injection이라는 이름으로 새롭게 정의해서 사용한다는 것을 알 수 있다.
Spring 프레임워크가 지원하고 있는 DI가 사용되고 있는 Setter Injection 과 Constructor Injection 예제 소스를 보면 지금까지 우리들이 일반적으로 사용해온 자바빈과 별반 다르지 않다는 것을 확인할 수 있다. 또한 Spring 프레임워크에 종속된 API가 없다는 것을 확인할 수 있다. 이처럼 Spring 프레임워크가 지원하는 DI을 이용할 경우 Spring 프레임워크를 지원하지 않는 다른 개발 환경에서도 얼마든지 이 소스를 재사용하는 것이 가능하다.
Spring 프레임워크가 가지는 가장 큰 장점 중의 하나가 이와 같이 프레임워크나 컨테이너 종속되지 않도록 애플리케이션을 개발하는 것이 가능하다는 것이다. Spring 프레임워크가 가지는 이 같은 장점들은 앞으로도 계속해서 볼 수 있을 것이다.
제목 | 글쓴이 | 날짜 | 조회 |
---|---|---|---|
2003-09-20 |
11940 |
||
2003-09-20 |
11488 |
||
2003-09-20 |
20622 |
||
지구인 |
2010-08-27 |
19413 |
|
지구인 |
2009-09-07 |
13735 |
|
2010-01-29 |
15693 |
||
2004-10-07 |
16786 |
||
2009-05-24 |
4125 |
||
2009-05-23 |
2230 |
||
2009-05-23 |
3731 |
||
2009-05-18 |
14332 |
||
수병아리 |
2009-05-18 |
3092 |
|
2009-04-29 |
1565 |
||
2009-04-27 |
1161 |
||
2009-04-26 |
1318 |
||
2368 [sap] ERP 개념 |
sinanstn |
2009-04-24 |
2863 |
뽀글이예용 |
2009-04-22 |
2922 |
|
2009-04-20 |
2099 |
||
Exception |
2009-04-17 |
2981 |
|
Exception |
2009-04-17 |
2015 |
|
Exception |
2009-04-17 |
2880 |
|
Exception |
2009-04-15 |
2276 |
|
고수고수 |
2009-04-15 |
4701 |
|
2360 [공개소스] HTML TAG 한글사전 |
고수고수 |
2009-04-15 |
4007 |
아시오페아 |
2009-04-01 |
3764 |
|
나키 |
2009-03-31 |
6038 |
|
2357 [sap] [국방산업]성공사례 |
2009-03-30 |
2206 |
|
2009-03-27 |
4583 |
말이 좀 공손햇으면 좋겟네 글낸사람