JAVA Spring MVC 패턴

윤슬·2025년 9월 22일

MVC 패턴

  1. 정의 : 소프트웨어 공학에서 사용되는 디자인 패턴 중 하나

  2. 목적 : 프로그램을 깔끔하고 효율적으로 만들기 위한 설계 방법

  3. 종류

    1. MVC1 : controller/view <--> model

      • JSP 파일에서 HTML과 JAVA를 한번에 작성
      • 장점: 빠른 개발
      • 단점: 유지보수/역할 분담 어려움
    2. MVC2 : view <--> controller <--> model

      • view 파일은 HTML만 작성, controller에서는 제어(로직)인 JAVA만 작성
      • 장점: 화면/로직 분리
      • 단점: 파일 수 증가 및 관리 필요
    3. MVC2 3Tire : view <--> controller <--> service <--> model

      • Spring MVC에서 사용되는 패턴
      • controller의 역할(제어와 로직) 분리
      • 장점: 관점 지향 프로그래밍 특화, 역할 분담, 유지보수 용이
      • 단점: 파일 수 증가 및 관리 필요
  4. 구역/레이어 종류

    1. VIEW : JSP / 타임리프 / 머스테치 / REACT (HTML, CSS, JS)
      • 역할: 프론트엔드(화면 구현)
      • Spring 프로젝트에서는 resources 폴더에서 찾음, JSP는 webapp 폴더에서 찾음
    2. CONTROLLER : @RestController / @Controller
      • 역할: HTTP 통신(요청/응답), 매개변수/반환 타입 관리 및 변환, VIEW와 SERVICE 중계
      • 사용자/클라이언트가 한 번의 요청은 하나의 controller로 위임
    3. SERVICE : @Service
      • 역할: 비즈니스 로직(실질적인 중요 코드)
      • CRUD, 데이터 검증, 연산, 알고리즘, 트랜잭션
      • SQL/HTTP 객체 제외한 실질적인 로직
      • 다른 서비스 호출 가능
    4. Repository : @Repository
      • 역할: 저장소(실질적인 저장소 / 엔티티 조작 코드), DAO, JPA, MyBatis
  • 유효성 검사 위치: JS, CONTROLLER, SERVICE, SQL
profile
우상향그래프

0개의 댓글