DongDD's IT

[Spring] Spring Framework 개요 본문

프로그래밍/Spring

[Spring] Spring Framework 개요

DongDD 2019. 3. 18. 20:09

[Spring] Spring Framework



Spring Framework



Spring MVC


- Web Application 개발을 위한 Framework

- POJO(Plain Old Java Object) 형태로 구현

- Annotation 기반 설정

- Servlet API  추상화

- Spring DI Container와 연계


1. Third-Party Library

1) Jackson : JSON 처리

2) Apache Tiles, Freemarker : 템플릿 엔진

3) Rome : RSS, Feed 처리

4) JasperReports : Repoter 출력

5) Joda-Time : 날짜, 시간 정보 처리


2. Action 기반 framework(Spring MVC, Struts)

- 요청 -> action 결정 -> action 결과 응답 반환

- 구조 단순, 확장성 높음


3. Component 기반 framework(JSF : Java Server Faces)

- 요청, 응답 추상화하고 화면을 구성하는 Component기반으로 Web Application을 개발하는 framework

- 재사용성 높음



Spring Security


- 다양한 인증 방식

1) Basic, Digest

2) X.509 인증서

3) LDAP

4) Open ID

- CSRF 대응 기능

- Security HTTP Response Header 출력 기능

- 세션 관리



Spring Data


- Database, NoSQL, Key-Value 저장소 등에 쉽게 접근할 수 있게 해주는 framework

- Umbrella Project

1) Spring Data Commons : 기본 적인 Repository 인터페이스 제공

2) Spring Data JPA :JPA(Java Persistence API)를 이용해 데이터에 접근

3) Spring Data MongoDB/Redis/Solr



Spring Batch


- Batch application 개발을 위한 경량 framework



Spring Integration


- EIP(Enterprise Integration Patterns), 시스템 연계 아키텍쳐 패턴에 기초해 연계 Application을 쉽게 개발할 수 있게 도와주는 framework



Spring Cloud


- 분산 환경에서 클라우드 환경에 최적화된 Application을 개발하기 위한 framework


1. Spring Cloud Config

- Profile, property 정보를 외부 환경에서 관리하고 배포하는 구조 제공


2. Spring Cloud Netflix

- Netflix가 제공하는 다양한 오픈 소스 소프트웨어 사용 구조 제공


3. Spring Cloud Bus

- 다양한 백엔드 환경에 접속하기 위한 구조 제공



Spring IO Platform


- Spring 관련 라이브러리나 서드 파티 라이브러리 버전을 결정하고, 의존 관계를 해결하기 위한 스프링 프로젝트



Spring Boot


- 최소한의 설정으로 Production 레벨의 Application을 쉽게 개발할 수 있게 하는 스프링 프로젝트

- XML이나 Java-based configuration을 이용한 bean 정의, servlet 설정이 필요 없음

Comments