Back-end/JAVA,Spring

[JAVA]Spring framework 스프링 프레임워크란 ?

cheersHena 2018. 4. 30. 20:51
반응형

Spring framework 스프링 프레임 워크란?


자바플랫폼을 위한 오픈소스애플리케이션 프레임워크.

동적인 웹 사이트 개발 위해 서비스 제공. 

자바(EE)를 사용하고 웹 개발 위한 프레임워크. 대한민국 웹 표준 기술.


스프링은 많은 개발자가 제안했던 아이디어를 구체화된 프레임워크로 만들어내고,만들어진 프레임워크를 오픈소스 생태계를 통해 효과적으로 검증하고 발전시킨 결과물이다. 자바 엔터프라이즈 표준 기술이 되었다. 


간단한 컴포넌트 이용하여 복잡한 애플리케이션 개발 가능하고 라이브러리 패키지를 xml 파일에 집어넣어 관리할수 있다. 필요 패키지가 있을 시 패키지 이름과 다운받을곳을 추가하기만 하면 메이븐이 알아서 다운받아 준다.


 MVC model이란 ?



model

  정보처리 e.g. DB정보 입력, 출력, 수정, 삭제 등..

View

  프로그램의 외관. Model에게 받은 정보를 화면에 그려서 사용자에게 보여줌.

Controller

  정보통제. 사용자의 입력을 받아 처리하고, 모델과 상호작용하며 알맞는 뷰를 선택해주는 역할.


스프링 라이프 사이클. Spring MVC


주요구성요소

1. Dispatcher Servlet 

  스프링mvc의 웹 요청처리하는 전 과정 관리하는 전달자. 

  즉 요청에 따른 컨트롤러를 구해 처리된 결과를 클라이언트에게 응답하는 스프링 mvc의 핵심.

2. HandlerMapping

  요청 처리할 컨트롤러를 검색하여 DispatcherServlet에 전달.

3.Controller

  클라이언트의 요청 처리. 처리결과 ModelView를 DispatcherServlet에 전달.

4.Model and View

  컨트롤러가 처리한 결과와 뷰에 대한 정보를 가짐.

5.ViewResolver

  결과를 생성할 뷰를 결정.

6. View

  사용자에게 보여줄 결과 화면 생성.


스프링 MVC처리과정




1. 요청

  클라이언트의 요청이 DispatcherServlet에 전달됨.

2. 요청 URL과 매핑하는 컨트롤러 요청

  DispatcherServlet은 HandlerMapping에게 클라이언트의 요청을 처리한 컨트롤러 객체 요청.

3. 컨트롤러 리턴

 HandletMapping은 요청처리할 컨트롤러를 Dispatcher에게 알려줌

4. 처리 요청

  DisaptcherServlet은 해당 Controller에 처리 요청

5. ModelAndView리턴

  Controller 는 처리결과 및 뷰정보를 ModelAndView에 담아 DispatcherServlet에 전달.

6.View 객체요청 

  DispatcherServlet은 처리결과를 생성한 View를 구하기 위해 ViewResolver에 요청.

7.View 리턴

  ViewResolver는 처리결과를 생성한 View를 DispatcherServlet에 전달.

8. 응답생성요청

  DispatcherServlet은 View에 응답생성 요청.

9. 응답! 

  View는 클라이언트에 전송할 응답생성.



** Spring Boot란?

Spring Framework를 사용하는 프로젝트를 아주 간편하게 셋업할수 있는 스프링프레임워크의 서브 프로젝트이다. 독립 컨테이너에서 동작가능하여 java만 설치되어 있으면 된다. 

빌드 후 jar파일이 생성되고, 별도 서버 설치없이 embeded tomcat이 자동으로 실행된다. 프로젝트 생성시 Spring Framework에서 해주어야 하는 복잡한 설정이 아닌 통합된 설정파일인 application.yml로 쉽고 간단하게사용 가능하다. 


 규모가 작아서 WAS를 따로 설치하기에 효율적이지 못할때 사용하기 적합하다.. 








반응형