프로그래밍/spring boot

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #3-2 애플리케이션 아키텍처

aSpring 2023. 10. 31. 19:05
728x90
728x90
※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다.

 

| 애플리케이션 구현 준비

1. 구현 요구사항
2. 애플리케이션 아키텍쳐

 

2. 애플리케이션 아키텍처

- Repository에서 DB에 접근

- 각각은 Domain을 다 참조하도록 설계

- Controller는 Service를 호출하는 것 뿐만 아니라, Repository에 바로 접근할 수 있는 구조로 갈 예정 -> But, 단방향 유지할 것

 

1) 계층형 구조 사용

  • controller, web : 웹 계층
  • service : 비즈니스 로직, 트랜잭션 처리
  • repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용
  • domain : 엔티티가 모여 있는 계층, 모든 계층에서 사용

 

2) 패키지 구조

  • jpabook.jpashop
    • domain
    • exception : 공통 예외 모음
    • repository
    • service
    • web
    • api
  • 개발 순서 : service, repository 계층 개발 -> 테스트 케이스 작성해서 검증 -> 마지막에 웹 계층(Thymeleaf) 적용 -> api

 

728x90
728x90