본문 바로가기
IT기술노트/IT경영전략

Spring Framework

by 비트코기 2021. 2. 14.

I. Spring의 개요

가. Spring의 정의

   - EJB 기반의 복잡함과 무거움을 극복하고 개발 생산성 향상과 고품질의 시스템 개발을 위한 자바 플랫폼 상의 경량화 된 오픈 소스 웹 어플리케이션 프레임워크

나. Spring의 특징

   - 객체관리, 제어반전(IoC), 의존성 주입(DI), 관점 지향 프로그래밍(AOP), 영속성


II. Spring Framework의 구성도 및 구성요소

가. Spring Framework의 구성도

나. Spring Framework의 구성요소

구분

기능 및 역할

Spring Core (IoC)

- IoC (Inversion of Control) Container

- 객체간 의존성 감소로 코드 변경에 유연한 대처 가능하고 재사용 가능성 제고 시킴

- 컨테이너가 객체의 생성부터 소멸까지 관리

- 컴포넌트를 개별적으로 테스트 가능

- Bean Factory를 기반으로 Bean 클래스들을 제어할 수 있는 기능을 지원

AOP

- 트랜잭션 관리, 로깅 등과 같은 관심사에 대한 모듈화

- 횡단관심사의 분리로 코드 변경 없이 더해지거나 제거 가능(유지보수성, 변경용이성)

- Aspect Oriented Programming을 지원하는 기능

ORM

- 객체관계형 모델 지원

- 다양한 DB 접속 방식 및 인터페이스 지원

- Object Relation Mapping 프레임워크인 Hibernate, IBatis, JDO와의 결합을 지원하기 위한 기능

- Hibernate, IBatis, JDO 프레임워크와 쉽게 통합하는 것이 가능

DAO

- 단순화된 JDBC 기능

- 대부분의 ORM 프레임워크와 통합

- 트랜잭션 관리 기능

- DAO개발을 좀 더 쉽고, 일관된 방법으로 개발하는 것이 가능하도록 지원

Web

- Application Context Multipart Request등의 기능을 지원

- Struts, Webwork와 같은 프레임워크의 통합을 지원하는 부분을 담당

Context

- 원격접근

- EJB 대체 및 통합

- 스케줄링 및 동적 언어 지원

- 테스트 기반환경 제공

- Spring Core에서 지원하는 기능 외에 추가적인 기능들과 좀 더 쉬운 개발이 가능하도록 지원

- 국제화된 메시지, Application 생명주기 이벤트, 유효성 검증 등

- JNDI, EJB등을 위한 Adaptor들을 포함

MVC

- Spring Web MVC

- 이벤트 기반 프레임워크

- 타 웹 어플리케이션 프레임워크와 대체 통합

- Spring 프레임워크에서 독립적으로 Web UI Layer Model-View-Controller를 지원하기 위한 기능

- Velocity, Excel, PDF와 같은 다양한 UI 기술들을 사용하기 위한 API를 제공

 

 

반응형

댓글