Spring FrameWork 개념
SpirngFrameWork란?
: Java 플랫폼을 위한 오픈소스 애플리케이션 프레임워크
동적 웹 사이트 개발을 위한 프레임워크
대한민국 전자정부 표준 프레임워크의 기반 기술
특징
1. IoC(제어 반전) 지원
: 스프링이 제어권을 주도함. 스프링이 사용자의 코드를 호출
* 제어반전 : 사용자가 아닌 스프링이 제어를 한다는 의미
2. 경량 컨테이너
: 스프링이 컨테이너로써 자바 객체를 직접관리함.
객체 라이프사이클(생성-소멸 과정) 관리, 스프링으로부터 필요한 객체를 얻어올 수 있음.
3. POJO방식의 프레임워크
: 특정한 인터페이스를 구현/상속 받을 필요 없음.
기존에 존재하는 라이브러리 지원 용이, 객체 가벼움
* POJO(Plain Old Java Object) : setter/getter를 가진 단순한 자바 객체
4. AOP(관점지향 프로그래밍) 지원
: 공통 기능(트랜잭션, 로깅, 보안관리 등)들을 분리하여 관리
5. DI(의존성 주입) 지원
: 각 계층, 서비스들 간에 의존성이 존재할 경우 서로 연결시켜줌
6. 확장성이 높음
: 수많은 라이브러리를 지원하고 라이브러리를 별도로 분리하기 용이
7. 트랜잭션의 지속성(durability)과 관련된 다양한 서비스 지원
: DB 처리 라이브러리와 연결할 수 있는 인터페이스 제공
* 트랜잭션의 지속성(영속성) : 트랜잭션이 성공적으로 완료된 후 DB에 반영한 수행 결과는 손실되지 않고 영구적인 것을 의미
SpringFrameWork 모듈 구성
Spring Core
: IoC, DI를 지원하는 영역. - Spring을 컨테이너로 만듬
BeanFactory를 기반으로 Bean클래스를 제어할 수 있는 기능 지원
Spring Context
: 쉬운 개발이 가능하도록 추가 기능 지원 - Spring을 Framework로 만듬
EX) JNDI, EJB 등 Adaptor 기능
Spring DAO
: JDBC기반의 DAO 지원 - 기존 DAO보다 적은 코드로 쉽게 개발 가능
Spring AOP
: AOP기능 지원
Spring Web MVC
: MVC 프레임워크 제공
Spring Web
: Web Application 개발에 필요한 Web Application Context, Multipart Request등 지원
- 프레임워크의 통합을 지원
Spring ORM
: 여러 ORM(Object Relational Mapping)에 플러그인 됨.
EX) iBatis, JDO, Hibernate
* 스프링의 특징들은 이런 기능이 있구나 정도로 기억하고 스프링을 공부하고 다시보면 이해를 할 수 있을 것이다.
핵심은 Java를 이용하여 동적 웹 사이트 개발을 위한 프레임워크 라는 것
'Backend FrameWork > Spring' 카테고리의 다른 글
[Spring Framework] Spring MVC : @RequestMapping 개념 (0) | 2018.12.28 |
---|---|
[Spring Framework] Spring MVC : Model과 ModelAndView 차이 (0) | 2018.12.28 |
[Spring Framework] Spring MVC : <mvc:default-servlet-handler/> 개념 (0) | 2018.12.28 |
[Spring Framework] Spring MVC 개념 (0) | 2018.12.24 |
[Spring Framework] AOP 개념 (0) | 2018.12.19 |