Spring Framework

-- IT Trend 2010. 5. 27. 14:59
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

왜 프레임워크인가?



엔터프라이즈 환경의 프로젝트에서 각 프레임워크가 도입되는 이유는 무엇인가?
가장 큰 이유는 개발 현장의 개발생산성의 향상과 고품질이 보장된 어플리케이션의 개발을 위해서이다. 다양한 요구사항을 만족할 수 있는 유연하고 풍부한 기능을 제공하는 프레임워크구축, 개발 생산성 향상과 고품질의 시스템 개발을 위한 프레임워크의 필요성이 대두되면서, Struts, Spring, WebWork와 같은 프레임웍이 등장하기 시작했다.


왜 스프링인가?



다양한 프레임워크가 나와있고, 그 중에 J2EE기반에서 가장 두각을 나타내는 프레임웍이 Spring이 아닌가 싶다.
이는, 각 레이어를 느슨한 Interface의 결합과 설정의 외부화를 통해 개발이 보다 더 유연하고 견고해지기도 이기도 하지만, 일관된 방법으로 기존 기술들을 편하게 사용할 수 있도록 도와주고, 비즈니스 객체들을 효과적으로 구성하고 관리하는데에 가장 큰 장점이 있기 때문이다. 더불어 막강한 JDBC 자원 관리가 개발자들에게 혁신적인 소스 코딩량의 절약을 가능케 해준다는게 강점 중 하나라고 본다.


 왜 LightWeight 라고 하는가?Spring은 하나의 프레임워크이다. 그런데 왜 Spring 컨테이너, IoC 컨테이너라는 말을 사용할까? 그렇다면 컨테이너의 정의는 무엇을까? Servlet 컨테이너, EJB 컨테이너라는 말하는 것을 종종 들어봤을 것이다. 컨테이너. 우리들이 흔하게 사용하고 있지만 도대체 컨테이너가 뭐란 말인가? 

정확한 사전적인 정의는 아니지만  "인스턴스의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능들을 제공"하는 역할을 하는 녀석이라고 보면 될거 같다.

Servlet 컨테이너는 Servlet의 생성, 생성 후 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 있다. 개발자들이 직접 Servlet을 생성하고 서비스하지는 않다. 이처럼 컨테이너는 Servlet 인스턴스에 대한 생명주기를 관리하는 기능을 가진다. 또한 Servlet 컨테이너의 web.xml을 보면 JSP/Servlet 접근 권한에 대한 추가적인 서비스도 지원하고 있다. 이는 Servlet의 구현과는 별도록 각 JSP/Servlet에 대한 Security를 관리해주는 기능을 한다.

스프링 아키텍쳐



기본적으로 스프링 아키텍쳐는 모듈단위의 계층구조로 되어있고 각 모듈들은 독립적으로 분리,사용이 가능하다.
뿐만 아니라 각각의 모듈은 일관된 방법으로 사용할 수 있기 때문에 한번 익숙해지고 나면 사용이 무척 쉽다.
더불어 각 레이어의 다양한 프레임웍과 조합이 가능하고, 다양한 개발환경에 최적의 조합을 유도할 수 있다.

스프링은 전체 프로젝트의 설정을 관리할 수 있는 일관된 방법을 제공함으로써, 개발자들이 각종 프로퍼티 파일을 작성하지 않도록 유도한다.

이것은 IoC라는 스프링의 특징 때문인데, 객체들간의 의존성이 따로 관리됨으로써 비즈니스 로직이 EJB로 개발되었건 일반 자바 객체로 개발되었건 동일한 방법으로 해당 로직을 이용할 수 있는 이점도 추가된다.

IoC(Inversion of Control : 제어의 역행) 혹은 DI(Dependency Injection : 의존성주입)이라고 불리우는 이 개념과, AOP (Aspect-oriented programming : 관점지향프로그래밍) 개념을 이해한다면, Spring Framework의 전반적인 내용을 이해하고 개발할 수 있다고 생각한다.


[출처]
Spring Framework의 기본 개념 |작성자유혹

'-- IT Trend' 카테고리의 다른 글

WCF (Windows Communication Faundation)이란?  (0) 2010.11.02
Log4j  (0) 2010.05.27
WebWork에 대해  (0) 2010.05.27
Freemarker란?  (0) 2010.05.27
yellow page, white page  (0) 2010.03.10
posted by 어린왕자악꿍