Spring Boot/2.7.x - REST API 만들기
-
[Spring Boot] REST API 만들기(9) - Transaction 적용Spring Boot/2.7.x - REST API 만들기 2022. 10. 11. 18:04
REST API 만들기(9) - Transaction 적용 1. Transaction 란? 모든 작업이 정상적으로 완료되면 Commit을 실행하고, 작업 처리 중 에러가 발생하면 Rollback하는 방식으로 처리하는 일련의 작업들을 하나의 단위로 묶어서 처리하는 것을 트랜잭션이라고 합니다. 2. Transaction의 기본 원칙 Atomicity (원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 합니다. (All or Nothing) Consistency (일관성) 트랜잭션이 성공적으로 완료하면 모든 데이터는 일관성을 유지해야 합니다. Isolation (독립성, 격리성) 트랜잭션은 독립적으로 처리되며, 처리되는 중간에 외부에서의 간섭은 없어야 합니다. Durabli..
-
[Spring Boot] REST API 만들기(8) - Interceptor 적용Spring Boot/2.7.x - REST API 만들기 2022. 10. 7. 18:33
REST API 만들기(8) - Interceptor 적용 1. Interceptor 란? 인터셉터란 컨트롤러에 들어오는 요청 HttpRequest와 컨트롤러가 응답하는 HttpResponse를 가로채는 역할을 합니다. 2. Interceptor 적용 2_1. Interceptor 구현 HandlerInterceptor 인터페이스를 상속 받아서 PreHandle, PostHandle, afterComplete 메소드를 구현하세요. PreHandle(HttpServletRequest request, HttpServletResponse response, Object handler) 컨트롤러(즉 RequestMapping이 선언된 메서드 진입) 실행 직전에 동작합니다. 반환 값이 true일 경우 정상적으로 진..
-
[Spring Boot] REST API 만들기(7) - Controller 구현 및 단위 테스트(Junit5)Spring Boot/2.7.x - REST API 만들기 2022. 10. 5. 23:22
REST API 만들기(7) - Controller 구현 및 단위 테스트 TodoController.java를 구현한 후 JUnit5을 사용하여 단위 테스트를 작성하세요. 1. TodoController.java package com.example.springbootrestapi.web.controller; import com.example.springbootrestapi.domain.Todo; import com.example.springbootrestapi.service.TodoService; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; i..
-
[Spring Boot] REST API 만들기(6) - Service 구현 및 단위 테스트(Junit5)Spring Boot/2.7.x - REST API 만들기 2022. 10. 3. 22:37
REST API 만들기(6) - Service 구현 및 단위 테스트 TodoService.java를 구현한 후 JUnit5을 사용하여 단위 테스트를 작성하세요. 1. TodoService.java package com.example.springbootrestapi.service; import com.example.springbootrestapi.domain.Todo; import com.example.springbootrestapi.mapper.TodoMapper; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework..
-
[Spring Boot] REST API 만들기(5) - Mapper 구현 및 단위 테스트(Junit5)Spring Boot/2.7.x - REST API 만들기 2022. 9. 25. 22:15
REST API 만들기(5) - Mapper 구현 및 단위 테스트 To-Do 조회, 등록, 수정, 삭제를 위한 TodoMapper.java, todo.xml를 구현한 후 JUnit5을 사용하여 단위 테스트를 할 수 있도록 TestTodoMapper.java 작성하세요. 1. TodoMapper.java To-Do 상세 조회, 저장, 수정, 삭제 메서드를 추가하세요. package com.example.springbootrestapi.mapper; import com.example.springbootrestapi.domain.Todo; import java.util.List; public interface TodoMapper { /** * To-Do 목록 조회 */ List getTodos(Todo.Req..
-
[Spring Boot] REST API 만들기(4) - Log4jdbc 설정Spring Boot/2.7.x - REST API 만들기 2022. 9. 15. 09:21
REST API 만들기(4) - Log4jdbc 설정 기본적으로 스프링 부트는 Java Util Logging, Log4J2 and Logback 기능을 지원하여 실행된 SQL문을 확인할 수 있지만, 파라미터가 바인드되지 않고 물음표로 출력되거나, 탭이나 개행문자가 적용되지 않아 가독성이 떨어지기 때문에 log4jdbc 설정이 필요합니다. 1. 의존성 추가 Log4Jdbc를 사용하여 DB 관련 로그를 추가하기 위해 log4jdbc-log4j2-jdbc4를 추가하세요. plugins { id 'org.springframework.boot' version '2.7.3' id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } grou..
-
[Spring Boot] REST API 만들기(3) - Logback 설정Spring Boot/2.7.x - REST API 만들기 2022. 9. 12. 17:11
REST API 만들기(3) - Logback 설정 1. Logback 이란? Logback "자바 오픈소스 로깅 프레임워크"로 SLF4J의 구현체입니다. 스프링 부트의 기본으로 설정되어 있어서 의존성을 추가하지 않아도 사용 가능합니다. 2. Logback 사용법 2_1. LoggerFactory 클래스의 getLogger 메소드를 통해 Logger 객체를 생성하여 로깅하는 방법 package com.example.springbootrestapi.web.controller; import com.example.springbootrestapi.domain.Todo; import com.example.springbootrestapi.service.TodoService; import java.util.List;..
-
[Spring Boot] REST API 만들기(2) - MySQL + MyBatis 연동Spring Boot/2.7.x - REST API 만들기 2022. 9. 11. 23:06
REST API 만들기(2) - MySQL + MyBatis 연동 1. MySQL 설치 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)인 MySQL을 설치하세요. MySQL을 다운로드하여 설치하는 방법과 Docker로 MySQL을 설치를 방법에 대한 내용이니 참고하세요. MySQL 다운로드 및 설치 - https://tychejin.tistory.com/15 Docker로 MySQL 설치(docker-compose.yml) - https://tychejin.tistory.com/393 2. Database 생성, 계정 생성 및 권한 부여 # Database 생성 # create database [database명]; create database sample; # 계정 생성 # create use..
-
[Spring Boot] REST API 만들기(1) - 프로젝트 생성Spring Boot/2.7.x - REST API 만들기 2022. 8. 28. 16:24
REST API 만들기(1) - 프로젝트 생성 1. 프로젝트 생성 1_1. File > New > Project... 1_2. Web > spring Web를 선택 후 Finish 1_3. 프로젝트 구조 2. application.properties 수정 스프링 부트의 기본포트는 8080이며, 다른 포트를 사용하려면 다음과 같이 수정하세요. # server 설정 server.port=9091 3. 프로젝트 동작 확인 3_1. 프로젝트 서버를 실행(Shift + F10)한 후 localhost:9091를 호출하여 Whitelabel Error Page가 호출되는지 확인하세요. 스프링 부트에서는 오류가 발생한 경우 화이트레벨(Whitelabel) 오류 페이지를 기본값으로 사용합니다. HTML 응답 JSON ..