깃허브 : https://github.com/GoF9490/spring_comment_1
GitHub - GoF9490/spring_comment_1
Contribute to GoF9490/spring_comment_1 development by creating an account on GitHub.
github.com
// repository (메모리 저장소)
Comment 클래스 객체 생성. id, writer, content 객체를 담고 사용될 객체.
CommentRepository 인터페이스 생성. 해당 저장소에서 실행할 create, read, update 까지 함수 지정. delete는 update로 대체.
MemoryCommentRepository 클래스 생성. db역할을 할 해시맵 생성, 인터페이스를 상속받아 함수를 구현.
테스트케이스 작성(given, when, then), MemoryCommentRepository의 모든 함수 정상작동되는지 점검.
(메모리라면 @AfterEach 등의 db초기화 잊지말것)
// service
CommentService 인터페이스 생성. 댓글을 처리 할 crud 함수 설정.
??? 댓글을 작성, 수정하고 어짜피 해당 페이지의 댓글을 가져오려면 readAll이 동반되어야 하는데
return값을 List로 줘서 함수 한번에 전부 실행되도록 해야하나, 아니면 따로 실행되게?
CommentServiceImpl 클래스 생성. @Service (컴포넌트), @RequireArgsConstructor (생성자) 어노테이션 붙여줌.
CommentServiceImpl 클래스의 함수 구현. 들어오는 데이터는 검증을 마쳤다는 전제 하예 나가는 데이터에 대한
오류 여부만 조건문으로 판별해서 내보냄.
CommentServiceImplTest 테스트케이스 작성.
// controller
html 템플릿 작성. 한 화면에서 crud가 다 이루어지도록 할것.
해당 템플릿에서 post로 받아올 변수를 담는 CommentForm 클래스를 작성(getter, setter)
인풋 네임과 변수 이름을 맞춰줌.
CommentController 컨트롤러 작성, 서비스를 인자로, GetMapping, PostMapping 알맞게 작성.
CommentController 에서 post로 받아온 데이터 처리, 처리한 데이터 Model에 넣어 리턴 등 알맞게 함수 완성.
최종 실행 및 버그 픽스
'프로젝트' 카테고리의 다른 글
토이프로젝트 - NodeToSpring 2. repository / service (C, R) (0) | 2022.12.04 |
---|---|
토이프로젝트 - NodeToSpring 1. entity 설계 (0) | 2022.12.04 |
Node.js - 게시판 ( 게시물 및 댓글 작성 / 삭제 ) (0) | 2022.09.07 |
Node.js - 게시판 ( 작성 / 수정 / 삭제 ) (0) | 2022.09.05 |
Node.js - 게시판 ( 로그인 ) (0) | 2022.09.05 |