1. Spring 이란?
■ Rod Johnso이 만든 오픈소스 프레임워크
■ 복잡한 엔터프라이즈 애플리케이션 개발을 겨냥
■ 자바빈즈를 사용하지만 EJB에서 할 수 있었던 작업을 가능하게 해줌
■ 간소함, 테스트의 용이성, 느슨한 결합성의 측면에서 스프링의 이점을 얻을수 있음.
2. Spring 구성모듈
Core
프레임워크의 가장 기본적인 부분이고 IoC와 의존성 삽입(Dependency Injuection-DI)기능을 제공한다.
BeanFactory는 IOC를 적용하여 애플리케이션의 설정과 의존성에 대한 명세를 실페 애플리케이션 코드로 부터 분리하는 팩토리 패턴의 구현체
DAO(Data Access Object)
JDBC로 작업할때의 반복적인 연결생성, 명령실행, ResultSet 처리, 연결끊기등의 일을 추상화하여 데이터베이스 연결 코드를 간결하도록 구성. 끔찍한 JDBC코딩과 데이터베이스 업체 특정 에러코드의 파싱을 할 필요를 제거하는 JDBC추상화 레이어를 제공한다. 또한 JDBC패키지는 특정 인터페이스를 구현하는 클래스를 위해서 뿐 아니라 모든 POJO를 위해서도 선언적인 트랜잭션 관리만큼 프로그램에 따른 방식으로 할수 있는 방법을 제공한다.
ORM(Object Relational Mapping)
JDO, Hibernate, 그리고 iBatis를 포함하는 인기있는 객체-관계 맵핑 API를 위한 통합 레이어를 제공한다. ORM패키지를 사용하여 앞에서 언급된 간단한 선언적인 트랜잭션 관리와 같은 Spring이 제공하는 다른 모든 기능을 사용해서 혼합하여 모든 O/R 매퍼를 사용할 수 있다.
AOP(Aspect Oriented Programming)
관점지향 프로그래밍에 대한 풍부한 자원을 제공하며 스프링 애플리케이션을 위한 Aspect를 개발하는 토대역할을 함.
Spring Web
멀티파트 파일업로드기능, 서블릿 리스너를 사용한 IoC컨테이너의 초기화 그리고 웹-기반 애플리케이션 컨텍스트와같은 기본적인 웹-기반 통합 기능들을 제공한다. WebWork나 Struts와 함께 Spring을 사용할때 이것은 그것들과 통합할 패키지이다.
Spring MVC
웹 애플리케이션을 위한 Model-View-Controller(MVC)구현물을 제공한다. Spring의 MVC구현물은 어떤 오래된 구현물이 아니다. 이것은 도메인 모델 코드와 웹폼(Web forms)사이의 분명한 구분을 제공하고 유효성체크와 같은 Spring프레임워크의 다른 모든 기능을 사용하도록 허용한다
'FrameWork' 카테고리의 다른 글
스트럿츠(Struts) 소개 (0) | 2018.10.20 |
---|---|
MVC 디자인 패턴 (0) | 2018.10.20 |
DTO 란? (0) | 2015.12.10 |
프레임워크(Framework)와 라이브러리 (0) | 2015.12.10 |
Spring에서 HSQLDB 설정하기 (0) | 2015.12.09 |