일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 나일론지퍼
- 40HQ컨테이너
- MERN스택
- 미국영어연음
- 영어시간읽기
- 엑셀자동서식
- 요척합의
- TACKING
- 엑셀드래그단축키
- 고급영어단어
- 비리짐
- 지연환가료
- 암홀트롭
- 필터링후복사붙여넣기
- 클린코드
- 웹API
- 미니마카
- 비슬론지퍼
- 우레탄지퍼
- 봉제용어
- AATCC
- 40HQ컨테이너40GP컨테이너차이
- 엑셀필터복사붙여넣기
- Armhole Drop
- 자켓실측
- 와끼
- WHATTIMEOFTHEDAY
- 슈퍼코딩
- 핸드캐리쿠리어차이점
- 헤이큐
- Today
- Total
CASSIE'S BLOG
SPRING BOOT 구조 정리 본문
(자료 출처: 어라운드 스튜디오)
전체흐름:
Controller - Service - Dao는 스프링부트에 코드를 작성하는 영역임.
클라이언트에서 컨트롤러 REQUEST가 들어오게 되는데 (즉 요청) 이 때 DTO 형식의 객체를 사용하게 됨
회원가입하게 되면 (EX. 아이디 이름 패스워드 이메일) 이 내용 DTO객체에 담아서 CONTROLLER로 회원가입 요청
CONTROLLER는 회원요청이구나 판단한뒤에 맞게되는 서비스로 DTO객체를 같이 보내주게 됨
서비스 객체의 역할을 비즈니스 로직의 전반적인 처리하는 내용임 (회원가입에 필요한 내용을 여기서 처리)
가입일자 멤버등급 같은 거는 서비스객체에서 그런것들을 처리함
DTO에 들어가있는 데이터 값 활용해서 내용을 붙이거나 더해서 ENTITY라는 객체를 만들게됨
데이터 베이스의 테이블에 1:1로 매핑되는 데이터베이스와 가장 가까운 객체라고 생각하면 된다고 함
ENTITY라는 객체를 만든 후에 DAO라는 곳으로 보내게됨
DAO :
DB와 직접적으로 통신하는 영역
ENTITY에 있는 값을 그대로 저장을 하거나 가져오거나 이런 과정을 수행하게됨
ENTITY :
ENTITY: SERVICE - DAO -DB 에서 사용되는 객체는 ENTITY라는 객체를 사용함
DTO (Data Transfer Object) :
or VO(Value Object)로 불리기도 함
CLIENT - CONTROLLER - SERVICE 에서 사용되는 객체는 DTO 라는 객체를 사용함
계층간 데이터 교환 위한 객체
VO의 경우 Read Only 개념 가지고 있음
ServiceImpl and DAOimpl:
일반적으로 코드 설계할 때 Service와 Dao같은 경우에 클래스로 만들지않고 Interface로 만들게됨
그래서 실제 로직 부분은 이 인터페이스를 상속받은 이 implementation 클래스 객체가 비즈니스 로직을 갖게된다. (이름은 보통 impl 뒤에 저렇게 붙임)
Repository:
Entity에 의해 생성된 DB에 접근하는 메소드를 사용하기 위한 인터페이스
Service와 DB를 연결하는 고리 역할 수행
DB에 적용하고자 하는 CRUD를 정의하는 영역
ex.) JPA Repository
DAO (Data "Access" Object):
DB에 접근하는 객체 의미
Service가 DB에 연결할 수 있게 도와주는 역할
DB를 사용하여 데이터 조회하거나 조작하는 기능을 전달
'PROGRAMMING > JAVA SPRING' 카테고리의 다른 글
mySQL 부터 (0) | 2023.06.03 |
---|---|
[비공개] 파트3 (0) | 2023.05.28 |
PUT API & Delete API & ResponseEntity (0) | 2023.05.23 |
get API (0) | 2023.05.19 |
[get API] entrySet() 메소드 & 람다 표현식 (1) | 2023.05.19 |