ORM
-
9. 스프링부트와 AWS - 트랜잭션 스크립트, 도메인 모델실습/AWS 2021. 5. 5. 13:53
JPA를 설정했다면 이제 게시판에 쓸 게시글 등록, 수정, 조회를 위한 API를 만들 차례다. API 만들기 전 알아둘 것 API를 만들기 위해 필요한 클래스는 총 3개다. - Request한 데이터를 받을 Dto - API 요청을 받을 Controller - 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service 위의 내용을 보면 비즈니스 로직에 대한 부분이 없는 것을 알 수 있다. 이것에 대해 이해를 하려면 내용이 기니까 여기서 짚고 넘어가보자. 위 그림은 책에 나와있는 그림으로 Spring Web 계층에 대해 설명하는 그림이다. 책에서는 위 그림을 예시로 들며 우리가 흔히 Service에서 비즈니스 로직을 처리하는 것으로 오해한다고 쓰여있다. 실제로 국비 지원 과정서에서 비즈니스 로직을 서비스 ..
-
8. 스프링부트와 AWS - JPA 시작하기실습/AWS 2021. 5. 5. 09:00
프로젝트에 Spring Data JPA 적용하기 우선 build.gradle에 의존성을 등록한다. - spring-boot-starter-data-jpa: 스프링부트용 Spring Data Jpa 추상화 라이브러리. 스프링부트 버전에 맞춰 자동으로 JPA 관련 라이브러리들의 버전을 관리해준다. - h2: 인메모리 관계형 데이터 베이스. 별도의 설치가 필요없이 프로젝트 의존성만으로 관리할 수 있음. 메모리에서 실행되므로 애플리케이션 재시작때마다 초기화되므로 테스트에 많이 이용됨. 해당 실습에선 JPA 테스트, 로컬환경 구동에서 사용 예정 domain 패키지 생성 해당 경로에 우선 domain 패키지를 생성한다. 해당 패키지는 도메인을 담을 패키지로서 사용된다. 이때 도메인은 myBatis의 dao와 비슷한..
-
7. 스프링부트와 AWS - ORM&JPA 필요성실습/AWS 2021. 4. 28. 05:06
웹 서비스를 개발하기 위해서 데이터 베이스를 다루는 것은 꼭 필요한 일이다. 회원 가입, 게시글 저장 등 이 모든 것이 데이터 베이스와 연관되있다. 기존 자바에서는 myBatis를 이용해서 데이터 베이스를 다뤘다. 하지만 최근에는 스프링부트와 JPA를 이용하는 추세다. JPA의 필요성 기존에는 myBatis와 같은 프레임 워크를 이용해서 데이터 베이스를 다뤘다. 개발자가 직접 쿼리를 입력해서 DB를 제어하는 방식으로 이 방법이 나쁜건 아니다. 사용이 편리하고 직관적이고 배우기가 수월하다. 그러한 점에서 국비 지원 같은 경우 myBatis를 통해 DB를 제어하는 것을 배우게 된다. 하지만 이러한 방식에는 단점이 있었다. 바로 자바의 객체 지향적인 코드와는 맞지 않는다는 것이다. 일반적으로 Java를 배울 ..