반응형
12월 중순부터 2월말까지 열심히 학원 팀프로젝트를 진행했다.
진행하면서 느낀 점은 웹 개발과 DB가 정말 뗄레야 뗄 수 없는 관계구나...생각했다...ㅎㅎ
코드 한줄 한줄 짜는 것만큼 쿼리문 한줄 한줄 짜는 것도 정말 어렵고 복잡했는데
스프링부트에서는 JPA라는 새로운 데이터베이스 기술을 사용하고 있다고 한다.
쿠팡, 우아한형제들 등 자사 서비스를 개발하는 곳에서는 SpringBoot&JPA를 전사 표준으로 사용하고 있다고 한다.
🤍JPA란?
- 기존 데이터베이스 방식은 객체지향 프로그래밍에서 조금 벗어난, 데이터베이스 모델링에만 집중하는 방향이었다.
- JPA는 이런 문제점을 해결하기 위해 등장했다.
- 관계형 데이터베이스 - 객체지향 프로그래밍 언어 2개 영역을 중간에서 패러다임 일치를 시켜주기 위한 기술.
- 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행하므로 SQL에 종속적인 개발을 하지 않아도 된다.
- 규모가 크고 대규모 트래픽, 데이터를 가진 서비스에서 JPA는 점점 표준 기술로 자리잡고 있다.
🤍Spring Data JPA
- JPA는 인터페이스로서 자바 표준 명세서이고 인터페이스인 JPA를 사용하기 위해서는 구현체가 필요함.
- ㄴ 대표적으로는 Hibernate, EclipseLink 등이 있음.
- 스프링에서 JPA를 사용할 때 구현체를 직접 다루지는 않으며 좀 더 쉽게 사용하고자 추상화시킨 Spring Data JPA라는 모듈을 이용하여 JPA기술을 다룸.
JPA <- Hibernate <- Spring Data JPA
🔍Spring Data JPA의 등장 이유 : 구현체 교체의 용이성, 저장소 교체의 용이성
스프링부트 게시판 만들기 (3장 ~ 6장)
3장에서 6장까지 하나의 게시판(웹 애플리케이션)을 만들어보고 7장~10장까지는 이 서비스를 AWS에 무중단 배포하는 것까지 진행 예정.
🤍요구사항 분석
게시판 기능 | 회원 기능 |
게시글 조회 게시글 등록 게시글 수정 게시글 삭제 |
구글/네이버 로그인 로그인한 사용자 글 작성 권한 본인 작성 글에 대한 권한 관리 |
🤍프로젝트에 Spring Data JPA 적용하기
build.gradle 의존성 추가
반응형
'💻 my code archive > 🏷️JAVA & Spring(Boot)' 카테고리의 다른 글
스프링부트 공부기록(6) - JPA Auditing으로 생성 시간/수정시간 자동화하기 (0) | 2022.02.27 |
---|---|
스프링부트 공부기록(5) - 게시판 프로젝트 :: Dao 도메인 패키지, 글 등록, 수정, 조회 JPA 어노테이션, 테스트 코드 작성 (0) | 2022.02.27 |
스프링부트 공부기록(3) - 롬복 사용하기 (0) | 2022.02.26 |
스프링부트 공부기록(2) - JUnit4 테스트 코드 작성, HelloController 테스트 (0) | 2022.02.25 |
스프링부트 공부기록(1) - intelliJ Gradle 기본 개발 환경 설정, Github 연결 (0) | 2022.02.25 |