본문 바로가기
부트캠프/백

Section3-1

by 티코딩 2023. 1. 29.

섹션3는 Spring MVC에 관한 내용이다. 첨엔 정말 어려웠다.(하지만 지금도..)

그치만 이걸로 밥벌어먹고 살려면 알아야한다. 그리고 잘해야한다. 시작해보자!

 

spring framework

ㅇ Spring MVC란?

Spring 의 모듈중에서 서블릿API를 기반으로 클라이언트의 요청을 처리하는 모듈이다. --- 사실 이걸보고 뭔소리지? 했다.

Spring Web MVC 지만 줄여서 Spring MVC라고 한다. 그리고 웹 프레임워크의 종류이기 때문에 Spring MVC Framework라고도 한다. 근데 첫문장의 서블릿은 뭘까? -- 바로 밑에서 설명함^^

 

ㅇ 서블릿(Servlet) Iran?

지식이 얕아서 한줄로 설명하자면 클라이언트의 요청을 처리하도록 특정 규약에 맞춰 Java 코드로 작성하는 클래스 파일이라고 한다.

 

ㅇ MVC - Model

클라이언트의 요청을 전달받고 요청사항의 작업처리 결과 데이터를 Model이라고함. 클라이언트의 요청사항을 처리하는 영역을 서비스 계층, 실제로 요청사항을 처리하기 위한 코드는 비지니스 로직이라고 .

 

ㅇ MVC - View

Model데이터를 이용해 웹브라우저같은 클라이언트 애플리케이션의 화면에 보여지는 리소스를 제공하는 역할. 다양한 View 기술이존재함. - HTML 페이지의 출력, PDF,Excel 등의 문서형태로 출력, XML, JSON 특정형식의 포맷으로 변환함. (여기서 우리는 JSON형식으로~)

 

ㅇ MVC - Controller

Controller 클라이언트 측의 요청을 직접적으로 전달받는 엔드포인트로써 Model View중간에서 상호작용함.

 

MVC가 각각무엇인지 이해했는가?

이제 이게 어떻게 작용할까? 내가 이해한대로 설명하자면,

클라이언트가 요청을 보낸다. -> Controller이 요청 데이터를 수신, 비지니스로직처리 -> 처리한 작업결과는 Model. -> Controller이 View로 전달 -> View는 클라이언트에 보여지도록 변환시킨다.

이런 프로세스로 이해했다.

 

다음은 패키지 구조를 살펴보자.

 

첫번째 내가 사용하게 된 기능기반 패키지 구조다.

예시로

ㅁ coffee        -->패키지

   Coffee        --->클래스

   CoffeeController

   CoffeeDTO

   CoffeeRepository

   CoffeeService

ㅁ member        -->패키지  

   Member        --->클래스

   MemberController

   MemberDTO

   MemberRepository

   MemberService

 

이런식으로 리소스 별로 나누는 구조가 기능기반 패키지 구조.

 

두번째는 계층기반 패키지 구조

ㅁ controller

       CoffeeController

       MemberController

ㅁ dto

   CoffeeDTO

   MemberDTO

ㅁ model

   Coffee

   Member

ㅁ repsitory

   CoffeeRepository

   MemberRepository

ㅁ service

   CoffeeService

   MemberService

이런식이다. 우리가 기능기반 패키지 구조를 사용하는 이유는 테스트 리팩토링이 용이하고, 마이크로 서비스 시스템으로의 분리가 용이하기 때문이라고 하는데 난 잘 모르겠다. 시키는대로 일단 해봐야지ㅎ

 

코드 작성에 들어가기 앞서 2편에 마저써야겠다ㅎ

- 2편에서 계속 -

 

'부트캠프 > ' 카테고리의 다른 글

Section3-2  (0) 2023.02.01
클라우드 컴퓨팅, AWS의 중요개념들  (1) 2023.02.01
Reactive Programming  (0) 2023.01.28
12.6 Framework, SpringFramework, POJO  (0) 2022.12.10
11.29 네트워크,HTTP  (0) 2022.11.29