1. Spring이란?


1) 오픈 소스 프레임워크

- Rod Johnson 창시

- Expert one-on-one J2EE Design - Development, 2002, Wrox

- Expert one-on-one J2EE Development without EJB, 2004, Wrox


2) 엔터프라이즈 어플리케이션 개발의 복잡성을 줄여주기 위한 목적

- EJB 사용으로 수행되었던 모든 기능을 일반 POJO(Plain Old Java Object) 를 사용해서 가능하게 함.

- 경량 컨테이너(light weight container)


3) 주요 개념

- 의존성 주입(lightweight dependency injection)

- 관점 지향 컨테이너(aspect-oriented container)

- 포터블 서비스  추상화(Portable Service Abstract)




2. Spring의 장점


전자 정부 프레임 워크

객체의 라이프 사이클 관리, JEE 구현을 위한 다양한 API제공

DI (Dependency Injection, 의존성 주입) 지원

AOP (Aspect Oriented Programming, 관점 지향 프로그래밍) 지원

POJO (Plain Old Java Object) 지원

JDBC를 위한 다양한 API 지원

Transaction 처리를 위한 일관된 방법 제공

다양한 API와의 연동 지원





3. Spring의 구성 요소





http://docs.spring.io/spring/docs/4.1.9.RELEASE/spring-framework-reference/htmlsingle/#overview-modules






4. Framework 란?


“소프트웨어의 구체적인 부분에 해당하는 설계화 구현을 재사용이 가능하게끔 일련의 협업화 된 형태로 클래스들을 제공하는 것”.


설계의 기반이 되는 부분을 기술한 확장 가능한 기반 코드와 사용자가 이 코드를 자기 입맛대로 확장하는데 필요한 라이브러리 이 두 가지 요소가 통합되어 제공되는 형태


사용자가 이를 이용해 일정 수준 이상의 품질을 보장받는 코드를, 비교적 빠른 시간에 완성 및 유지 보수할 수 있는 환경을 제공.


“기본적인 설계나 필요한 라이브러리는 알아서 제공해 주므로 기능 구현에만 전념!” 이라는 취지에서 만들어진 것.




Posted by netyhobby
,