프로젝트에 참고한 책: '스프링 부트와 AWS로 혼자 구현하는 웹 서비스'

1. build.gradle에 dependencies 추가하기

 

2. domain 패키지 만들기 

 

도메인: 게시글,댓글,회원,정산,결제 등 소프트웨어에 대한 요구사항 혹은 문제영역이라고 보면 된다.

본 프로젝트에서는 도메인이 게시글이므로, Posts 클래스와 PostsRepository 인터페이스를 생성했다.

Entity class와 Repository Interface는 밀접한 관계이므로 같은 domain package에 있어야한다. 

 

3.Posts Class

Posts클래스는 실제 DB의 테이블과 매칭될 클래스이므로 @Entity(JPA 어노테이션, 테이블과 링크될 클래스임을 나타내는 어노테이션)가 클래스 명과 가장 가까워야 한다. 

나머지는 롬복 어노테이션이다. 

 

코드 상세는 다음 주소로 들어가면 볼 수 있다. 

https://github.com/heyazoo1007/bookproject/blob/master/src/main/java/com/heyazoo1007/book/domain/posts/Posts.java

 

4.PostsRepository Interface 

ibatis,Mybatis에서 DB Layer 접근자는 Dao라고 부르고, JPA에서는 Repository라고 부르며 인터페이스로 생성한다. 

JpaRepository<Entity class, Pk type>를 상속하면 기본적인 CRUD 메소드가 자동으로 생성된다. 

 

 

Post와 PostsRepository 코드는 다음 깃헙에 가면 볼 수 있다.

https://github.com/heyazoo1007/bookproject/tree/master/src/main/java/com/heyazoo1007/book/domain/posts/PostsRepository.java

 

5. PostsRepositoryTest 

오류를 줄이기 위해서는 기능 구현을 완성하면 해당 단위 기능을 테스트 하는 테스트 코드를 작성해서 정상 작동하는지 확인하는 버릇을 들여야한다. TDD도 추후에 공부 해야한다.

 

테스트 코드는 다음 페이지로 가면 볼 수 있다.(게시글저장_불러오기 test)

https://github.com/heyazoo1007/bookproject/blob/master/src/test/java/domain/posts/PostsRepositoryTest.java

 

 

+ Recent posts