1. 구조 살펴보기
- 각 계층이 통신하는 구조를 따른다.
- 각 계층이 소통할 수는 있지만 직접 간섭하거나 영향을 미치지는 않는다.
2. 각 계층구조
1) Presentation 계층
- HTTP 요청을 받고 비즈니스계층으로 전송하는 역할.
- 컨트롤러가 역할을 한다.
2) Business 계층
- 모든 비즈니스로직을 처리한다.
- 프로세스를 구축하는 계층이다.
3) Persistence 계층
- 모든 DB 관련 로직을 처리한다.
- 이 과정에서 DB에 접근하는 DAO 객체를 사용할 수도 있다.
- DAO는 DB계층과 상호작용하기 위한 객체이다.
- Repository가 퍼시스턴스 계층의 역할을 한다.
3. SpringBoot의 디렉터리 구조 살펴보기
- main : 실제 코드를 작성하는 공간.
- test : 소스코드를 테스트할 목적의 코드.
- build.gradle : 빌드를 설정하는 파일. 의존성이나 플러그인 설정 등과 같이 빌드에 필요한 설정을 할 때 사용한다.
- setting.grade : 빌드할 프로젝트의 정보를 설정한다.
4. 디렉터리 구성하기
- resources 디렉터리에 HTML같은 view관련 파일을 넣을 templates 디렉터리를 만든다.
- static과 application.yml도 만든다. (스프링 부트가 실행되면 자동으로 로딩되는 파일이다.)
- build.gralde에 의존성 추가하기
- Gradle 탭에서 새로고침 버튼을 눌러 의존성을 설치한다.
5. Presentation, Service, Persistence 계층 만들기
- TestController.java : 프레젠테이션 계층. HTTP 요청을 받고 보내는 역할
- TestService.java : 비즈니스 계층. 비즈니스로직을 처리하는 계층
- Member.java : Member DAO를 생성하고 실제 DB에 접근하는 코드
- MemberRepository.java : member 테이블과 Member 클래스를 매핑하는 작업을 위한 인터페이스 파일
- resource/data.sql 에 테스트할 데이터 넣기
- application.yml 변경
- 실행 후 확인
성공 !
- HTTP 요청 -> TestController.java -> TestService.java -> MemberRepository.java -> DB
- 이런 식으로 작동한다.
- Express는 기본세팅만 하고 api 안에서 호출하고 DB 떼와다가 비즈니스하고 트랜잭션 잡고 다되면 send 해주면 땡이었는데.. 스프링은 복잡하다.
'Backend - Java Spring > SB 입문(완)' 카테고리의 다른 글
[SpringBoot3] 데이터베이스 (0) | 2023.10.20 |
---|---|
[SpringBoot3] 테스트코드 (0) | 2023.10.20 |
[SpringBoot3] SpringBoot3와 자바버전 (0) | 2023.10.20 |
[SpringBoot3] Node&Express개발자의 SpringBoot 조온나쉽게 시작하기 (0) | 2023.10.20 |
[SpringBoot3] Java Spring 서버개발자가 알아두면 좋은 상식 (0) | 2023.10.20 |
댓글