목록전체 글 (32)
Develope Me!

JPA가 러닝커브가 높다는 말이 맞는 거 같다...어렵다..ㅎㅎ... 그치만 이렇게 계속 익히다보면 어느순간 머릿 속으로 정리가 될 거라고 믿는다. 이번에는 스프링 웹 계층 정리했던 것에 이어서 등록/수정/조회 API를 구현해보고자 한다! 등록/수정/삭제 PostsApiController @RequiredArgsConstructor @RestController public class PostsApiController { private final PostsService postsService; @PostMapping("/api/v1/posts") //등록 기능 public Long save(@RequestBody PostsSaveRequestDto requestDto) { return postsServic..

Entity 클래스를 생성했다면 이제 테스트 코드를 작성해보자! Spring Data JPA 테스트 코드 domain.posts 패키지에 Posts 클래스를 작성했을 때와 동일하게 test 디렉토리에도 똑같이 패키지를 생성해준뒤 PostsRepositoryTest란 이름의 테스트 클래스를 작성했다. @RunWith(SpringRunner.class) @SpringBootTest public class PostsRepositoryTest { @Autowired PostsRepository postsRepository; @After //(1) 단위 테스트 끝난 후 수행되는 메소드 지정(데이터 침법 막기 위함) public void cleanup(){ postsRepository.deleteAll(); } @..
JPA에 대해 정리를 했다면 이제 실제로 적용해보도록 하자! Spring Data JPA 적용하기 우선 build.gradle에 Spring Data JPA와 H2 데이터베이스 의존성을 추가한다. implementation('org.springframework.boot:spring-boot-starter-data-jpa') implementation('com.h2database:h2') 더보기 1. spring-boot-starter-data-jpa - 스프링 부트용 Spring Data JPA 추상화 라이브러리 - 스프링부트 버전에 맞춰 자동으로 JPA 관련 라이브러리 버전 관리해줌 2. h2database - 인메모리 관계형 데이터베이스 - 별도의 설치없이 프로젝트 의존성만으로 관리 가능 - 메모리에..

본격적으로 Spring Boot에서 JPA를 다루기 전에 JPA개념 정리를 먼저 해보려고 한다. 객체 지향 프로그래밍 언어와 관계형 데이터 베이스 이 책에 저자분도 그렇고 나 또한 팀 프로젝트를 진행하면서 SQL Mapper인 Mybatis를 이용해서 DB 쿼리를 작성했던 경험이 있다. 그래서 무엇보다 쿼리를 작성하고 수정하는데에 꽤 공을 들였었다. 객체 지향 프로그래밍을 하면서 테이블 모델링에 더 집중을 하게 된다니..... 한 번 쯤 고민해볼만 하다. 일단 객체 지향 프로그래밍 언어와 관계형 데이터 베이스의 차이는 뭘까? 객체 지향 프로그래밍 언어는 메시지를 기반으로 기능과 속성을 한 곳에서 관리하는 기술이다. 반면 관계형 데이터베이스는 어떻게 데이터를 저장할 지에 초점이 맞춰진 기술이다. 이 둘은 ..

개발환경 세팅을 마쳤다면 이제 본격적으로 테스트코드를 작성해보고자 한다. 개인적으로 팀 프로젝트를 하면서 Junit4를 사용해서 DAO와 Service를 단위 테스트를 해본 경험이 있다. Junit을 사용하기 이전엔 코드 작성하고 톰캣을 실행해서 sysout을 통해 결과를 확인하는 과정을 반복했었다. 이렇게 서버를 재시작하다보면 시간이 꽤 걸렸는데 테스트 코드를 작성해두면 이런 불편함을 줄일 수 있었다. 테스트 코드 테스트 코드는 기능 단위의 Unit Test만 있는 게 아니다. 좀 더 넓은 범위에서 TDD 테스트가 있다. 1) TDD TDD (Test Driven Development, 테스트 주도 개발)는 테스트가 개발을 이끌어 간다라는 의미를 담고 있다. TDD의 과정을 살펴보자면 [RED] 항상 ..

혼자 서비스를 구축해보는 경험을 쌓기 위해 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책을 빌렸다. 이 책을 따라서 애플리케이션 개발부터 AWS 배포까지의 과정을 익혀볼 것이다! 시작하기 앞서 왜 Spring Boot 인가? 스프링 부트는 서버에 톰캣 같은 웹 어플리케이션 서버를 설치하지 않고도 jar 파일만 있다면 서비스 운영이 가능하다. 수많은 설정들이 자동화되어 있기 때문에 비즈니스 로직에 집중하면 된다. 책의 구성은? 1장부터 5장까지는 애플리케이션 개발, 테스트방법, 객체지향 프로그래밍을 6장과 7장은 AWS 인프라에 대한 사용법 및 설정, 그리고 나머지 장은 AWS 인프라 배포 방법으로 구성되어 있다. 개발환경 세팅하기 원래는 개발 도구로 줄곧 이클립스를 사용해왔었다. 이번엔 무료로 ..