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 |