자주 사용하는 프로젝트 조합을 미리 만들어놓아 스프링을 더욱 쉽고 간편하게 사용하기 위해 만들어진 프레임워크이다. 최소한의 설정으로 스프링의 여러 라이브러리를 사용할 수 있고, 톰캣, 제티 등이 내장되어 있다.

 

아래의 링크만큼 자세하고 가독성이 좋은 설명이 되어있는 곳은 없는듯 하다.

 

 

출처) https://gist.github.com/ihoneymon/8a905e1dd8393b6b9298

'IT 용어 정리' 카테고리의 다른 글

리눅스 런레벨 간단 정리  (0) 2019.10.14
Ioc/DI 란?  (0) 2019.10.09
JVM 이란?  (0) 2019.09.30
DAO 와 DTO 란?  (0) 2019.09.26
MyBatis 란?  (0) 2019.09.26

■ Spring 이란?

 

Spring Framework 란 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서, 동적인 웹사이트를 개발하기 위한 여러가지 서비스는 제공하고 있는 프레임워크 이다. 스프링을 사용하므로써 이미 잘 짜여진 구조 위에서 핵심 로직에만 집중할 수 있어서 높은 생산성과 높은 코드 품질의 좋은 소프트웨어를 개발 할 수 있다.

 

 

■ 애플리케이션 프레임워크 란?

 

애플리케이션 프레임워크는 특정 계층이나 기술, 업무 분야에 국한되지 않은 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크이다. 애플리케이션 프레임워크는 애플리케이션 개발의 전 과정을 빠르고 편리하며 효율적으로 진행하는데 일차적인 목표를 두는 프레임워크이다. 

 

 

 

 

출처) https://12bme.tistory.com/157

        https://cjh5414.github.io/why-spring/

 

'develop > Spring' 카테고리의 다른 글

Spring @ (어노테이션) 정리  (0) 2019.10.09

출처) https://min-it.tistory.com/7

        https://mangkyu.tistory.com/18

 

■ spring MVC (Model View Controller) 

spring MVC는 웹 개발시 대부분으로 사용하는 모델2 방식의 구조이다. 모델2 방식이란 한마디로 표현하여 화면을 담당하는 View의 부분과 데이터를 처리하는 비즈니스 로직을 분리하여 생각한 개념이다. 디자이너와 개발자의 작업 분리가 되어있어 작업하기 편리하고 재사용이 가능한 구조이다.

 

MVC 가 뜻하는 의미는

M (Model) : 데이터를 처리하는 부분

V (View) : 화면을 담당하는 부분

C (Controller) : 요청을 처리하는 부분으로 뷰와 모델 사이의 통신역할을 담당

 

 

(Spring MVC DispatcherServlet) 출처:  https://min-it.tistory.com/7  [MIN-IT]

1. 클라이언트(사용자)의 모든 요청은 DispatcherServlet이 받는다.

 

2. DispatcherServlet은 hanlderMapping을 통해서 요청에 해당하는 Controller를

실행 시킨다.

 

3. Controller는 적절한 서비스 객체를 호출 시킨다.

 

4. Service는 DB처리를 위해  DAO를 이용하여 데이터를 요청 한다.

 

5.DAO는 mybatis를 이용하는 Mapper를 통해 작업 처리를 한다.

 

6. 결과(처리한 데이터)가 mapper->DAO->Service->Controller로 전달된다.

 

7. Contorller는 전달된 결과(처리된 데이터)를 View Resolver를 통해

전달 받을 View가 있는지 검색한다.

 

8. 전달 받은 View가 있다면 View에게 전달된 결과(처리된 데이터)를 전달한다.

 

9. View는 전달받은 결과(처리된 데이터)를 다시 DispatcherServlet에게 전달한다.

 

10. DispatcherServlet은 전달받은 결과(처리된 데이터)를 클라이언트에게 전달한다.

 

Front Controller는 서버로 들어오는 모든 요청을 받아서 처리한다. 공동처리 작업을 먼저 수행한 후 적절한 세부 컨트롤러에 작업을 위임해주고 예외시 일관된 방식으로 예외를 처리해주는 역할을 한다. 이와 같은 역할을 하기 때문에 각 컨트롤러 사이의 중복된 코드 문제나 협업시 개발자들의 개발 방식이 다른 경우 등을 해결할 수 있다.

 

 

■ DispatcherServlet

spring에서 정의한 Front Controller이다. 클라이언트에서 어떤 요청이 들어오면 톰캣과 같은 서블릿컨테이너가 요청을 받는데, 이때 제일 앞에서 서버로 들어오는 모든 요청을 처리하는 기능을 한다. MVC구조에서 함께 사용하는 패턴이다.

 

DispatcherServlet의 등장으로 web.xml의 역할이 상당히 축소되었는데, 기존에는 모든 서블릿에 대해 URL패밍을 활용하기 위해서 web.xml에 모두 등록해주어야 헀지만, DispatcherServlet이 해당 어플리케이션으로 들어오는 모든 요청을 핸들링해주면서 작업이 상당히 편리하게 되었다. 

 

'IT 용어 정리' 카테고리의 다른 글

NoSQL 이란?  (0) 2019.09.17
node.js 란 무엇인가  (0) 2019.09.14
front end와 back end의 정의  (0) 2019.09.13
AJP 란?  (0) 2019.09.13
JDBC (Java Database Connectivity) 란?  (0) 2019.09.13

+ Recent posts