1. 의존성 주입(Dependency Injection, DI)

 - 객체간의 의존관계를 객체 자신이 아닌 외부의 조립기가 수행한다.
 - 제어의 역할 이라는 의미로 사용되었음.
 - Martin Fowler, 2004
   - 제어의 어떠한 부분이 반전되는가라는 질문에 '의존 관계 주입'이라는 용어를 사용
   - 복잡한 어플리케이션은 비지니스 로직을 수행하기 위해서 두 개 이상의 클래스들이 서로 협업을 하면서 구성됨.
   - 각각의 객체는 협업하고자 하는 객체의 참조를 얻는 것에 책임성이 있음.
   - 이 부분은 높은 결합도와 테스트하기 어려운 코드를 양산함
 - DI를 통해 시스템에 있는 각 객체를 조정하는 외부 개체가 객체들에게 생성시에 의존관계를 주어짐
   - 즉, 의존이 객체로 주입됨
   - 객체가 협업하는 객체의 참조를 어떻게 얻어낼 것인가라는 관점에서 책임성의 역행임
 - 느슨한 결함이 주요 강점
   - 객체는 인터페이스에 의한 의존관계만을 알고 있으며, 이 의존관계는 구현 클래스에 대한 차이를 모르는 채 서로 다른 구현으로 대체가 가능

 

 

 

Posted by 조은성
,

* Spring이란?

1. 오픈 소스 프레임워크

 - Rod Johnson 창시
   - Expert one-on-one J2EE Design - Development, 2002, Wrox
   - Expert one-on-one J2EE Development without EJB, 2004, Wrox
 - 엔터프라이즈 어플리케이션 개발의 복잡성을 줄여주기 위한 목적(종속적이지 않은 목적)
 - EJB 사용으로 수행되었던 모든 기능을 일반 POJO(Planin Old Java Object)를 사용해서 가능하게 함.
   - 경량 컨테이너(light weight container)
 - www.springframework.org

2. 주요 개념
 
 - 의존성 주입(Dependency InJection)
 - 관점 지향 프로그래밍

3. Spring의 장점

 - 경량 컨테이너 - 객체의 라이프 사이클 관리, Java EE구현을 위한 다양한 API제공
 - DI(Dependency Injection)지원
 - AOP(Aspect Oriented Programming) 지원
 - POJO (Plain Old Java Object) 지원
 - 다양한 API와의 연동 지원을 통한 Java EE 구현 가능

Posted by 조은성
,

* Spring source다운로드

http://www.springsource.org/download

 

 

 

 

Posted by 조은성
,