1. Spring 프레임워크의 개요

 1-1. Spring 프레임워크의 정의

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

 

 1-2. Spring 프레임워크의 특징

구분 설명 특징
객체관리 컨테이너에서 직접 객체 관리(생성/소멸) 개발자의 객체 생성 및 소멸 관리 부담 감소
제어반전
(IoC)
컨트롤의 제어권이 프레임워크에 존재 스프링에서 사용자 코드 호출 가능
의존성주입
(DI)
각각의 계층이나 서비스들 간에 의존성 존재할 경우 프레임워크가 상호 연결시켜줌 XML 파일을 통한 환경설정
관점지향 프로그래밍
(AOP)
여러 모듈에서 공통적으로 사용하는 기능의
분리 지원
추상화된 트랜잭션 관리, 로깅, 보안 등의 공통 기능 활용
영속성 데이터베이스 처리 라이브러리와 인터페이스 제공 JDBC, iBatis, Hibernate 등에 대한 지원

 

2. Spring 프레임워크의 구성도, 구성 모듈별 기능과 역할

 2-1. Spring 프레임워크의 구성도

 

 2-2.  Spring 프레임워크의 구성 모듈별 기능과 역할

구성모듈 기능 및 역할 세부기능 및 사례
DAO -단순화된 JDBC 기능
-대부분의 ORM 프레임워크와 통합
-트랜잭션 관리 기능
-JTA에 대한 ‘global’ transaction 지원
-단일 데이터 소스에 대한 ‘local’ transaction지원
ORM -객체관계형 모델 지원
-다양한 DB 접속 방식 및 인터페이스
지원
-Hibernate, JDO, Oracle Toplink, iBatis,
JPA 등
J2EE -원격접근
-EJB 대체 및 통합
-스케줄링 및 동적 언어 지원
-테스트 기반환경 제공
-다양한 프로토콜에 대한 POJO 기반 원격접근
-JUnit 통합, DI에 의한 용이한 테스팅
-어플리케이션 서버 밖에서 통합 테스트 지원
WEB -Spring Web MVC
-이벤트 기반 프레임워크
-타 웹어플리케이션 프레임워크와 대체 통합
-Request 기반 프레임워크
-JSP, PDF, Excel 등 다양한 View 기술 지원
-Struts, WebWork, JSF 등
Core
(IoC)
-IoC(Inversion of Control) Container
-객체간 의존성 감소로로 코드 변경에 유연한 대처 가능하고 재사용 가능성 제고시킴
-컨테이너가 객체의 생성부터 소멸까지 관리
-컴포넌트를 개별적으로 테스트 가능
-The Hollywood Principle
“Don’t call me, I will call you”
-컨테이너에 의한 Dependency Injection(의존성주입)
AOP -트랜잭션 관리, 로깅 등과 같은 관심사에 대한 모듈화
-횡단관심사의 분리로 코드 변경없이 더해지거나 제거 가능(유지보수성, 변경용이성)
-Crosscutting Concern
-Aspect = Advice + Pointcut
-Join Point, Pointcut, Weaving
-AspectJ(사실상 표준)

'1. IT Story > Basic Studies' 카테고리의 다른 글

ISP(Information Strategy Planning)  (1) 2019.07.18
로직트리(Logic Tree)  (0) 2019.07.17
MECE(Mutually Exclusive Collectively Exhaustive)/LISS(Linearly Independent Spanning Set)  (0) 2019.07.16
BCG Matrix  (0) 2019.07.15
프레임워크  (0) 2019.07.12
SW 아키텍처 드라이버(SW Architecture Driver)  (0) 2019.07.11
ADD(Attribute Driven Design)  (0) 2019.07.10
SWOT  (0) 2019.07.09
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,