IoC, AOP, ORM, MVC |
I. 전자정부 프레임워크의 핵심 근간, 스프링 프레임워크의 개요
가. 스프링 프레임워크(Spring Framework)의 정의
- EJB 기반의 복잡함과 무거움을 극복하기 위해 개발생산성 향상과 고품질의 시스템 개발을 위한 자바 플랫폼 상의 경량화된 오픈 소스 웹 어플리케이션 프레임워크
나. 스프링 프레임워크의 특성
구분 |
설명 |
비고 |
객체관리 |
컨테이너에서 직접 객체 관리 (생성/소멸) |
관리 부담 감소 |
제어반전(IoC) |
컨트롤의 제어권이 프레임워크에 존재 |
스프링에서 사용자 코드 호출 |
의존성주입(DI) |
서비스들 간에 의존성이 존재할 경우 상호 연결 |
XML 파일 이용 환경설정 |
관점지향 프로그래밍(AOP) |
여러 모듈에서 공통적으로 사용하는 기능의 분리 지원 |
추상화된 트랜잭션 관리,로깅, 보안 등의 공통 기능 활용 |
영속성 |
DB 처리 라이브러리와 인터페이스 제공 |
JDBC, iBatis등 지원 |
II. 스프링 프레임워크의 구성도 및 구성요소
가. 스프링 프레임워크의 구성도
나. 스프링 프레임워크의 구성요소
구분 |
기능 및 설명 |
세부기능 및 사례 |
Spring Core(IoC) |
객체간 의존성 감소로 코드 변경에 유연한 대처가 가능하고 재사용 가능성을 제고시킴 |
컨테이너에 의한 의존성주입(DI) |
AOP |
트랜잭션 관리, 로깅 등과 같은 관심사에 대한 모듈화 |
사실상 표준 |
ORM |
객체 관계형 모델 지원, 다양한 DB접속 인터페이스지원 |
iBatis, Hibernate, Oracle |
DAO |
단순화된 JDBC 기능 대부분 ORM과 통합 |
JTA < Global 트랜잭션 지원 |
Web |
Applicatoin Context, Multipart Request 지원 |
Request 기반 프레임워크 |
Context |
POJO 기반 원격 접근, EJB 대체 및 통합 |
JUnit 통합, DI에 의한 테스팅 |
MVC |
이벤트 기반 프레임워크 |
JSP, Velocity등 다양한 뷰 기술 |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
MSA(Micro Service Architecture) (0) | 2021.01.31 |
---|---|
콜백함수 (0) | 2021.01.31 |
IoC (Inversion of Control) (0) | 2021.01.31 |
전자정부 프레임워크 (0) | 2021.01.31 |
ATAM, CBAM (0) | 2021.01.31 |
소프트웨어 아키텍처 품질 평가 (0) | 2021.01.31 |
소프트웨어 아키텍처 문서화(Software Architecture Document) (0) | 2021.01.31 |
소프트웨어 아키텍처 스타일(Software Architecture Style) (0) | 2021.01.31 |
댓글