SERVER/Spring Boot

[Spring] 스프링 프레임워크 이해하기

GaGah 2020. 12. 30. 00:25

스프링 프레임워크란?

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

웹 애플리케이션을 만들기 위해 다양한 프레임워크가 존재하지만, 많이 알려지고 활용하고 있는 프레임워크이다. 

대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크로도 체택되었다. 

 

스프링 프레임워크를 중심으로 스프링 부트, 스프링 시큐리티, 스프링 소셜, 스프링 클라우드 등 다양한 프로젝트들을 만들었다. 

 

 

스프링 아키텍처 - MVC 패턴

MVC는 Model, View, Controller로 데이터와 화면을 분리시켜서 코드 재사용성을 높인다.

출처 : https://www.google.com/url?sa=i&url=https%3A%2F%2Fooz.co.kr%2F219&psig=AOvVaw3md0duuUnHaVRlXx8PM9rT&ust=1609341315404000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCIjj5d-98-0CFQAAAAAdAAAAABAD

 

그림의 프론트 컨트롤러의 역할을 스프링 MVC에서 디스패처 서블릿이 대신한다.

 

 

 

일반적으로 사용하는 스프링 MVC 구조

출처 : https://www.google.com/url?sa=i&url=https%3A%2F%2Fdoublesprogramming.tistory.com%2F174&psig=AOvVaw1jp3xa0pKE7QPTbCtZKIex&ust=1609341476006000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCJDrnbK-8-0CFQAAAAAdAAAAABAD

 

1. 사용자(Client)가 Request를 보내면 요청을 처리할 Controller를 찾아서 호출한다. 

2. Controller는 사용자의 요청을 처리하기 위해 Service의 빚즈니스 로직을 호출하고 호출한 결과값을 다시 클라이언트에게 넘겨주는 역할을 한다.

3. Service에 비즈니스 로직이 담겨 있으며 수행된다. 

4. DAO(Data Access Object)는 데이터를 담는 그릇이라고 생각하면 된다. 로직에 의해 DB에 있는 데이터나 결과들을 담는 그릇이다.

5. DB는 Database로 사용자의 데이터, 게시물의 정보 등 애플리케이션을 사용하면서 필요한 정보들이 저장되어있는 곳이다.  

 

 

 

참고 링크 및 서적

ko.wikipedia.org/wiki/%EC%8A%A4%ED%94%84%EB%A7%81_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

스프링부트 시작하기[김인우] 서적

LIST