728x90
반응형
페이스북에서 보던 무한댓글(댓글의 댓글의 댓글의...) 은 어떻게 구현되는지 궁굼해서 이것저것 알아보다가
우연히 좋은 포스팅을 발견해서, 공부하고 응용해보는 작업을 해보려 한다.
1. 요구조건 및 개발 사항 정리
1. 엔티티 개발
- 하나의 테이블만 이용하여 구현 예정
- self join 사용하여 무한 뎁스 구현
- level 필드를 구현하여 depth에 따라 level별 분류하도록 구현
2. 리포지토리 개발
- JpaRepository 사용하여 구현
3. DTO 개발
- Entity는 순수하게 DB를 생성하고 DB하고만 소통하게 하기 위해 DTO구현
- DTO는 비지니스 로직에서 사용하기 위해 구현
- Entity에서 list로 담은 children을 DTO로 변환 구현 (stream, Collectors 사용)
4. 서비스 개발
- save 메소드
- 상위 카테고리, 하위 카테고리 검색 후 각각의 상황에 맞게 save 구현
- delete 메소드
- 상위 카테고리, 하위 카테고리 검색 후 상황에 맞게 delete 구현
- 하위 카테고리가 있는 상위 카테고리 삭제 시 name만 변경 하여 구분
- get 메소드
- branch로만 검색하여 하위 카테고리 모두 반환
5. 테스트 코드 개발
- 1)given 2)when 3)then 의 순으로 테스트 코드 구현
6. 컨트롤러 개발
- 웹 계층에 뿌려줄 각각의 반환 로직 구현
7. 웹 개발
- Thymeleaf
- CRUD가 다 진행될 수 있도록 구현
2. 개발 환경
- Dependency 및 Spring boot Version
개발용 H2, AWS용 PostgreSQL 생각해서 둘다 추가해주었다.
728x90
반응형
'Dev > SpringBoot' 카테고리의 다른 글
JPA 사용해서 무한 계층 댓글 구현해보기 - 03 (0) | 2022.01.20 |
---|---|
JPA 사용해서 무한 계층 댓글 구현해보기 - 02 (0) | 2022.01.20 |
34. [JPA] 02. JPA 시작 (0) | 2021.11.07 |
33. [JPA] 01. JPA 소개 (0) | 2021.11.07 |
31. [springboot] Spring boot 기초 회원가입 예제 v2.0 (2) | 2020.12.31 |