<스프링 부트 3 백엔드 개발자 되기(자바 편)> 책 내용을 참고하여 블로그 만들기 프로젝트를 진행한다.
Source tree
✅ java main code
.../src/main/java/org.example.springbootdeveloper/
➡ Controller
- BlogApiController.java
- HTTP 통신
- Client 요청을 받는다.
- Service단을 호출해 결과 값을 리턴한다.
➡ Service
- BlogService.java
- Controller에서 온 요청을 처리한다.
- Repository에 Data CRUD 한다.
➡ Repository
- JPARepository 상속
- JPARepository는 Java Persistance API
- Data를 관리
- java 객체가 DB와 연결하게 해줌.
➡ domain
- Article
- Entity 객체
- Entity : DB테이블 객체로 DB 테이블과 1대1 매핑된다.
- setter 사용 지양
➡ dto (Data Transfer Object)
- DTO : 계층 간 데이터를 교환 시 사용하는 객체
- Client와 맞닿는 Controller에서 Entity대신 dto 주로 사용함
- 그 외 Controller와 View간에서 사용함
- getter/setter 사용
- AddArticleRequest.java
- toEntity() 를 사용해서 DTO를 Entity(DB객체)로 만든다.
- ArticleResponse.java
- 요청한 data를 전달하기 위해 ResponseEntity Type을 리턴
- ReponseEntity : DB에 저장할 수 있도록 JPA로 받은 DB data를 java 객체로 만들어준다.
➡ SpringBoot main method
- SpringBootDevApplication.java
Resource
.../src/main
➡ yml 파일
➡ sql
- data.sql
- java sourcetree에 Entity객체인 domain/Article이 있는데
여기에 sql문을 통해 데이터를 CRUD 함.
➡ static.js
➡ templates
- article.html
- newArticle.html
✅ java test code
.../src/main/java/org.example.springbootdeveloper/
➡ Controller
- BlogApiControllerTest.java
- BlogApiController 코드를 테스트한다.