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 |