진행사항

  • Entity 생성
  • Repository 생성

소스코드는 깃 허브 에서 보실 수 있습니다.

Entity 생성

  • BoardEntity
  • CategoryEntity
  • CommentEntity
  • LikedEntity
  • MessageEntity
  • UserEntity

Repository 생성

  • BoardRepository
  • CategoryRepository
  • CommentRepository
  • LikedRepository
  • MessageRepository
  • UserRepository

느낀 점

고민했던 부분

  • mysql VS h2
    • 이번에 mysql을 바로 사용해 프로젝트를 진행한다고 해서 h2를 사용하지 않을까 고민했다.
    • 하지만 mysql을 바로 사용하면 @Transactional 코드를 사용해 test 코드에 변동을 줘야하는데 product 코드와 달라 h2 쓰는게 좋지 않을까????? 라는 생각으로 일단 h2 사용하기로 했다.
      • 아직 잘 모르겠다…
  • package 구조
    • 기존에는 controller, service, repository, domain 과 같이 계층 단위로 패키지를 나눴었다.
    • 최근 공부를 하면서 class에 public 생성을 하지 않으면 package private을 적용 받기 때문에 하나의 도메인은 하나의 패키지에 모아 응집도를 높이고, 결합도를 낮추기 위해 패키지 구조를 context 단위로 변경 하였다.
    • 의존성 방향을 고려하여 domain, infra, usecase로 context를 세분화 하여 패키지 구조를 잡았다.
  • TDD 방법
    • 최근 TDD를 공부하며 프로젝트를 진행하고 있어 이번 클론코딩에서도 TDD로 개발해보려 하였지만 시간 부족으로 일단은 기존에 방식대로 logic 위주로 짤 생각이다.

해결못한 부분

  • Spring Application을 runner 패키지로 옮기고 난 후에 build는 문제 없었지만, SpringBootTest에서는 spring Context를 불러오지 못하는 것 같다.
    • 아마 component scan에 실패하는 에러 코드인 것 같은데, SpringBootTest에서
        @SpringBootTest(clkasses = SpringBootRunner.class)
        class Test() {...}
      

      를 사용해봤지만 여전히 해결 못한 상태이다.

부족한 부분

  • JPA는 우선순위에서 밀어두고 안하고 있었더니 연관관계 너무 머리 아파요 ㅜㅜ

후기

  • 연관관계 머리 아픈데 리더님이 스키마 다 짜주셔서 넘나 행복했습니다.
  • 시험 끝났는데 SPRING 팀 ㅎㅇㅌ!