Framework & Library
-
Spring Boot - JUnit이란?Framework & Library/Spring Boot 2022. 3. 13. 19:59
JUnit TDD란? Test Driven Development의 약자로 테스트 주도 개발이라는 의미를 가진다. 테스트를 먼저 설계 및 구축한 후 테스트를 통과할 수 있는 코드를 짜는 것을 말한다. 코드 작성 후 테스트를 진행하는 지금까지 사용된 일반적인 방식과 다소 차이가 있다. 애자일 개발 방식 중 하나로써, 코드 설계 시 원하는 단계적 목표에 대해 설정하여 진행하고자 하는 것에 대한 결정 방향의 차이를 줄이고자 하는 방법이다. 최초 목표에 맞춘 테스트를 구축하여 그에 맞게 코드를 설계하기 때문에 보다 적은 의견 충돌을 기대할 수 있다. 테스트 코드를 작성하는 목적 우선, 코드의 안정성을 높일 수 있다. 또한, 기능을 추가하거나 변경하는 과정에서 발생할 수 있는 부작용을 줄일 수 있다. 해당 코드가 ..
-
Spring Boot - Custom ExceptionFramework & Library/Spring Boot 2022. 2. 14. 18:40
Custom Exception의 구조 Exception 클래스 ㆍ 위 사진은 Java에서 제공해주는 Exception 클래스에 대한 내용이다. ㆍ Exception 클래스는 Throwable 클래스를 상속받는 형태이다. ㆍ Exception 클래스의 생성자는 String 타입의 message를 받게 되는데, 해당 message가 클라이언트에게 전달될 메시지라는 것을 유추해볼 수 있다. Throwable 클래스 ㆍ 위 사진은 Exception 클래스가 상속받고 있는 Throwable 클래스에 대한 내용이다. ㆍ Exception 클래스의 생성자로부터 입력받은 message가 Throwable 클래스의 멤버 변수인 detailMessage로 된다는 것을 확인할 수 있다. ㆍ 또한, getMessage() 메..
-
Spring Boot - @ControllerAdvice, @ExceptionHandler를 활용한 전역 예외 처리Framework & Library/Spring Boot 2022. 2. 11. 18:28
예외 처리 예외 클래스 ㆍ 모든 Exception 클래스는 Throwable 클래스를 상속받고 있다. Checked Exception Uncheked Exception 처리여부 반드시 예외 처리 필요 명시적 처리 강제하지 않음 확인시점 컴파일 단계 실행 중 단뎨 예외 발생 시 트랜잭션 롤백 수행하지 않음 롤백 수행 대표 예외 1. IOException 2. SQLException 1. NullPointerException 2. IllegalArgumentException 3. IndexOutOfBoundException 4. SystemException ㆍ Exception 클래스는 수많은 자식 클래스가 있으며, 크게 Checked Exception과 Unchecked Exception으로 나눌 수 있다..
-
Spring Boot - 유효성 검사Framework & Library/Spring Boot 2022. 2. 10. 12:23
유효성 검사 유효성 검사란? ㆍ 서비스의 비즈니스 로직이 올바르게 동작하기 위해서는 사용되는 데이터에 대한 사전 검증하는 작업이 필요하다. 이러한 작업은 유효성 검사 또는 데이터 검증이라고 부르는데, 흔히 Validation이라고 한다. ㆍ 데이터의 검증은 Controller, Serivce와 같이 여러 계층에서 발생하는 흔한 작업이다. ㆍ Validation은 들어오는 데이터에 대해 의도한 형식의 값이 제대로 들어오는지 체크하는 과정을 뜻한다. 일반적인 유효성 검사의 문제점 ㆍ 일반적인 애플리케이션에서 사용되는 Validation 방식은 몇 가지 문제가 존재한다. ㆍ 단지, 다른 메서드에 위치해 있다는 이유만으로 유효성을 검사하는 코드들이 중복되게 작성되는 것이다. 따라서, 코드가 복잡해진다는 단점이 ..
-
Spring Boot - Logback 적용하기Framework & Library/Spring Boot 2022. 2. 9. 12:24
Logback Logback이란? - Logback이란 Log4j를 기반으로 개발된 로깅(Logging) 라이브러리이다. - Log4j에 비해 약 10배 정도 빠른 퍼포먼스를 자랑하며, 메모리 효율성이 높다 - 출시 순서 : Log4j → Logback → Log4j2 Logback 특징 - 로그에 특정 레벨을 설정할 수 있다. 따라서, 실 운영과 테스트 상황에서 각각 다른 출력 레벨을 설정하여 로그를 확인이 가능하다. - 개발자가 선호하는 출력 방식을 설정할 수 있다. - 설정 파일을 일정 시간마다 스캔하여 관리하기 때문에, 애플리케이션의 중단 없이 설정의 변경이 가능하다. - 별도의 프로그램 없이 자체적으로 로그 압축을 지원한다. - 로그 보관 기간을 설정할 수 있다. 로그 레벨 Trace → Deb..
-
Spring Boot - JPA를 사용한 데이터 조작Framework & Library 2022. 2. 4. 00:00
JPA를 사용한 데이터 조작 ✔️ Entity 생성 @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor @Builder @Table(name = "product") public class ProductEntity { @Id private String productId; private String productName; private int productPrice; private int productStock; } ㆍ DB의 테이블과 직접적으로 매핑되는 클래스이다. 애너테이션 설명 @Entity 해당 애너테이션을 클래스에 붙이면 JPA가 해당 클래스를 관리하게 된다. @Builder 해당 애너테이션을 사용하게 되면 객체를 생성할 때 생성자를 통해..