Spring boot 기초 복습

짱J·2022년 7월 20일
0

Spring Boot

목록 보기
1/7
post-thumbnail

💚 Folder Structure

  • src - 메인 로직이 되는 폴더로, 이 안에 도메인 별로 패키지를 구성
    • 도메인 - 소프트웨어에 대한 요구사항 혹은 문제 영역 (ex. User, Post, Comment ...)
  • config - Secret Key, Base 클래스, 상수 클래스
  • util - JWT, 암호화, 정규표현식 등의 클래스

💚 프로젝트 계층 구조

Web 계층

  • 컨트롤러(@Controller)와 뷰 템플릿(JSP ...) 영역
  • 외부 요청과 응답에 대한 전반적인 영역

Service 계층

  • @Service가 사용되는 영역
  • Controller와 DAO의 중간 영역
  • @Transsactional이 사용되어야 하는 영역

Repository 계층 (=DAO 영역)

  • 데이터 저장소에 접근하는 영역
  • DAO = Data Access Object

DTO

  • Data Transfer Object
  • 계층 간에 데이터 교환을 위한 객체

Domain

  • @Entity가 사용되는 영역
  • 비즈니스 로직을 처리
  • 무조건 데이터베이스의 테이블과 관계가 있어야 하는 것은 아님!

Spring 계층 간 흐름도


💚 Validation

  • Controller - 값, 형식, 길이 등의 형식적 Validation
  • Service - DB에서 검증해야 하는 의미적 Validation

💚 BaseResponse

  • API Response에서 공통 부분은 묶고 다른 부분은 제네릭으로 구현하여 반복되는 코드를 줄여준다
  • BaseResponseStatus에서 enum을 통해 status 값 관리
  • BaseException을 통해 Service나 Controller에 Exception을 던진다

💚 레퍼런스

profile
[~2023.04] 블로그 이전했습니다 ㅎㅎ https://leeeeeyeon-dev.tistory.com/

0개의 댓글