[Spring] Spring boot 와 JPA 활용
Spring Boot와 JPA 활용1
알게된 점
초기 setting
- 요즘은 maven보다는 gradle을 쓰는 편
- JSP보다는 Thymeleaf(뷰)를 쓰는 편 -> 추후 설명
- H2는 mysql보다 설치,개발에 용이
- Lombok은 Getter, Setter 등 반복되고 지루한 코드 생산을 줄여주는 라이브러리
- Springboot 플러그인은 라이브러리에 대한 dependency도 다 관리해주기 때문에, 버전만 올리면, 알아서 라이브러리 업그레이드 해줌!
- lombok 업데이트 하면 꼭! setting 들어가서, Annotation Processors에서 Enable annotation processing 체크 되어있는지 확인
- 터미널에./gradlew dependencies 입력하면, 라이브러리 의존관계 알려줌
- -starter-jdbc 하위에 HikariCP은 (connection Pool) 좋당!
- h2버전이랑 클라이언트 버전이랑 안맞으면 충돌할 수 있음
코딩 패턴
- 비즈니스 로직 대부분이 엔티티에 있고, 서비스 계층은 단순히 엔티티에 필요한 요청을 위임만는 역할을 하는 것 : 도메인 모델 패턴
- 이 패턴은 jpa나 orm사용할 때 주로 쓴다.
- 반면에, 엔티티에는 비즈니스 로직이 거의 없고, 서비스 계층에서 대부분 비즈니스 로직을 처리하는 것 : 트랜잭션 스크립트 패턴이라고 한다.
- 한 프로젝트 안에서도 두 패턴이 양립을 할 수 있다. 따라서, 문맥에 맞게, 뭐가 더 유지보수 하기 쉬운지를 판단해서 사용하면 좋다.
찾아봐야할 부분
- Spring / JPA & Spring Data JPA ??
- Spring과 JPA를 알고 Spring Data Jpa를 배우는 것이 좋다.
- Thymeleaf