BACKEND/Spring
-
[Spring Boot/JPA] JPA 의존성 추가, 도메인 개발BACKEND/Spring 2023. 2. 15. 21:44
이 글은 책 스프링부트와 AWS로 혼자 구현하는 웹 서비스를 참고하여 작성되었습니다. 프로젝트에 Spring Data Jpa 적용하기 build.gradle 파일 dependencies 다음 코드를 추가한 후 빌드 해준다. (망치모양 누르기) compileOnly 'org.springframework.boot:spring-boot-starter-data-jpa' compileOnly 'com.h2database:h2' 그리고 지난 번에 web 패키지를 만들었던 패키지 아래 domain 패키지를 만든다. 여기서 도메인이란 게시글, 댓글, 회원, ... 등 소프트웨어에 대한 요구사항 혹은 문제 영역이라고 해석하면 된다. 기존에 MyBatis같은 쿼리 매퍼를 사용했다면 dao 패키지를 떠올리겠지만, 그것과는 ..
-
[Spring / Spring Boot] 단위 테스트 코드 작성해보기BACKEND/Spring 2023. 2. 13. 23:39
Spring Boot 프로젝트를 시작하면서 어떻게 초기 작업을 진행해야하는지 전혀 감이 안잡혀서 정리하며 프로젝트를 시작하려고 한다. 이 글은 책 스프링부트와 AWS로 혼자 구현하는 웹 서비스 1장를 참고하여 작성되었습니다. 이 글에서 다룰 내용은 다음과 같다. 1. 단위 테스트 코드에 대하여 2. 메인 메소드의 코드 톺아보기 3. 테스트 코드 JUnit4로 작성해보기 4. 롬복의 사용법, 그리고 롬복이란? 1. 단위 테스트 코드 이 글에서는 TDD에 관한 이야기가 아닌 기능 단위로 테스트 코드를 작성하는 단위 테스트 코드에 대해서 배울 수 있다. 단위테스트를 작성하지 않는다면 개발 단계는 다음과 같다. 코드를 작성하고 프로그램(Tomcat)을 실행한 뒤 Postman과 같은 API 테스트 도구로 HTT..
-
자바 ORM 표준 JPA 프로그래밍 - 기본편 섹션08BACKEND/Spring 2022. 11. 14. 21:59
프록시 프록시는 왜 사용해야할까? 멤버를 조회할 때 team도 함께 조회를 해야할까? 라는 질문을 던져보자. 이건 비지니스 로직에 따라 달라진다. 만약 비지니스 로직에서 멤버와 팀을 같이 출력한다면, 멤버의 팀 정보를 불러온 다음에 연관된 팀도 가져오게 된다. 만일 멤버만 출력한다면, member.get만 챙겨오면 된다. 이럴 때 연관관계가 있다고 팀까지 가져오면 손해이다. 이런 경우에는 어떻게 해야할까? 이것을 해결하려면 프록시를 정확하게 이해해야 한다. 프록시 기초 • em.find() vs em.getReference() • em.find(): 데이터베이스를 통해서 실제엔티티 객체 조회 • em.getReference():데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 프록시 특징 • 실..
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 섹션 1(작성 중)BACKEND/Spring 2022. 11. 13. 23:44
Spring Initailizr에서 프로젝트 만들기 여기서 H2 DATABASE와 lombok도 추가해줘야함. lombok은 지루하게 반복되는 코드를 제거해주는 라이브러리 https://start.spring.io/ 에서 만들 수 있다. 근데 강의에서의 버전이 달라서 기본 설정되어있는 걸로 버전을 선택했다. 여기선 jpa는 유틸리티성 라이브러리라고 생각하면 된다. 걸 이제 generate 하고 다운 받은 후 압축 풀고 IntelliJ에서 열어주면 되는데.. 맨처음에 열때 라이브러리 생성하는데 10분 이상 걸린다... 라이브러리 다운받다가 컴퓨터 끌 뻔 그렇게 라이브러리가 다 다운이 되고 나면 Application main 함수를 실행할 수 있다. 이렇게 실행시켜준 후 localhost:8080으로 들어갔..
-
[Spring - JPA ORM 표준 JPA 프로그래밍 ] JPA 시작BACKEND/Spring 2022. 10. 3. 19:16
본 게시물은 인프런 김영한 선생님의 강의를 기반으로 작성되었습니다. /* 강의 링크 */ https://www.inflearn.com/course/ORM-JPA-Basic 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의 JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 1. JPA 프로그래밍에 들어가기 이전에.. JPA의 필요성: 과거에는 객체를 데이터베이스를 저장하고 찾으려면, API와 sql을 직접 적었어야했다. JPA를 사용하면 SQL(쿼리문)을 작성할 필요가 없다. 한땀 한땀 작성하는 것보다 훨씬..