본문 바로가기
Web/JSP

JSP #14 Spring - 1 Spring Framework

by 언덕너머에 2015. 1. 9.

Spring Framework는 Core Contrainer, Data Access/Integration, Web, AOP, Aspects, Instrumentation, test의 7개 카테고리 20여개의 모듈로 구성되어 있다.

 

 

- 코어 컨테이너

코어 컨테이너(core Container)는 4개의 Core, Beans, Context, EL(Expression Language) 모율로 구성되어 있다.

 • Core 모듈과 Beans 모듈은 프레임워크의 기반이 되는 가장 핵심 부분으로, IoC와 DI 기능을 제공

   한다.

 • Context 모률은 Core 모듈과 Beans 모듈에서 제공하는 기반하에 구성되었다. Context 모듈은

   Beans 모듈의 기 능을 상속받고, 국제화, 이벤트 전이, 리소스 로딩, 서블릿 컨테이너와 같은

   컨텍스트의 생성 기능들을 함께 제공한다.

 • EL(Expression Language) 모듈은 런타임에서 객체 그래프를 조회하고 조작 할 수 있는 강력한 표현

   언어 기능을 제공한다

 

- 데이터 접근/통합

데이터 접근/통합(Data Access/lntegration) 계층은 5개의 JDBC, ORM, OXM, JMS, 트랜잭션 모듈들

로 구성되어 있다.

  • JDBC 모듈은 JDBC 추상화 계층을 제공하여 데이터베이스의 종류에 따른 JDBC 관련 코딩의 에러

    코드를 대신 다루어준다.

  • ORM 모듈은 iBatis(MyBatis), JPA, JDO, 하이버네이트(Hibernate)와 같이 잘 알려진 객체-관계

    매핑 API에 대한 통합 계층을 제공한다.

  • OXM 모듈은 JAXB, Castor, XMLBeans, JiBX, XStream과 같은 객체/XML 매핑 구현을 지원하는

    계층을 제공한다.

  • JMS(Java Messaging Service) 모듈은 메시지의 생성과 소비기능을 제공한다.

  • Transaction 모듈은 특별한 인터페이스와 POJO(Plain OldJava Objects)의 클래스에 대한

    트랜잭션 관리 기능을 제공한다.

 

- 웹

웹(web) 계층은 4개의 Web, Web-Servlet, Web-Struts, Web-Portlet 모듈로 구성되어 있다.

  • Web 모듈은 멀티파트 파일업로드, 서블릿 리스너와 웹 지향적인 애플리케이션 컨텍스트를 사용한

   IoC 컨테이너의 초기화 등 기본적인 웹 지향적인 통합기 능을 제공한다.

  • Web-Servlet 모듈은 웹 애플리케이션에 필요한 스프링 MVC(Model-ViewController) 구현을 제공

   하며, JSP, Velocity에 대한 뷰 연동을 지원한다.

  • Web-Struts 모듈은 스프링 애플리케이션과 스트릿츠의 연동 기능을 제공하며, 스프링 3.0부터 폐

   기 되었다.

  • Web-Portlet 모듈은 포틀릿 환경에서 사용되는 MVC 구현과 웹-서블릿 모듈 기능의 미러(mirror) 기

   능을 제공한다.

 

- AOP와 인스트루멘테이션

  • AOP 모듈은 AOP Alliance 규약에 호환되는 관점-지향 프로그래밍 구현체로서, 메서드 인터셉트

   와 포인트 컷을 정의하여 기능별로 깔끔하게 분리하도록 할 수 있다.

  • Aspects 모듈은 AspectJ와의 통합을 제공한다.

  • 인스투르벤테이션(Instrumentation) 모듈은 인스트루먼테이션을 지원하는 클래스와 특정 애플리케

   이션 서버에서 사용되는 클래스로더(classloader) 구현체를 제공한다.

 

- 테스트

테스트(Test) 모듈은 JUnit 또는 TestNG를 사용하여 스프링 컴포넌트의 테스트 를 지원한다.

'Web > JSP' 카테고리의 다른 글

JSP #16 sendRedirect & forward  (0) 2015.02.06
JSP #15 Servlet에서 입력값 한글 지원  (0) 2015.02.05
JSP #13 JSTL-2 core 라이브러리  (0) 2015.01.05
JSP #12 JSTL-1  (0) 2015.01.05
JSP #11 EL-3 EL의 내장객체  (0) 2015.01.02