[Java] Global Exception 이해하고 구성하기 : Controller Exception
·
Java/Spring Boot
해당 글에서는 Controller에서 발생하는 Exception을 Global Exception을 구성하여서 처리하는 방법에 대해서 공유합니다. 1) 개발 환경💡 Global Exception을 적용하는데 활용한 개발환경입니다.개발환경버전java1.8Spring Boot2.7.4빌드관리도구Gradle 7.5개발 툴IntelliJ IDEA 2022.3    2) Controller 내에서 발생하는 Exception 처리 전체적 흐름💡@RestControllerAdvice / @ExceptionHandler를 이용한 Controller 내에서 Exception 처리에 대한 전체적 흐름입니다.1. API 정상 동작 처리클라이언트는 데이터를 담아서 @RequestBody, @RequstParam, @Path..
[Java] 생성자 패턴 이해하기 : 점층적 생성자, 자바 빈즈, Builder 패턴)
·
Java/아키텍처 & 디자인 패턴
해당 글에서는 생성자 패턴에 대해서 이해하고, 어떤 패턴으로 생성자를 구성하는 것이 좋을지에 대해서 공유합니다. 1) 생성자 패턴의 종류 1. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 💡 점층적 생성자 패턴 - 생성자를 매개변수에 개수만큼 구성하는 패턴을 의미합니다. public class SuccessCode { private int status; private String code; private String message; // 매개변수 1개 SuccessCode(int status) { this(status, null, null); } // 매개변수 2개 SuccessCode(int status, String code) { this(status, code, ..
[Java/Library] Spring Boot Validation 이해하기 : 데이터 유효성 검증
·
Java/Spring Boot
해당 글에서는 Spring Validation 라이브러리를 이용하여 클라이언트에서 전송된 '데이터'를 유효성 검증을 처리하는 방법에 대해서 공유합니다. 1) 개발 환경 💡 Spring Validation 구성을 위한 사용된 개발환경 입니다 개발 환경 버전 java 1.8 Spring Boot 2.7.4 빌드관리도구 Gradle 7.5 개발 툴 IntelliJ IDEA 2022.3 spring-boot-starter-validation 2.7.4 [참고] Maven Repository: spring-boot-starter-validation https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation 2)..
[Java/Library] Thymeleaf, Thymeleaf Layout 적용하기
·
Java/Spring Boot
해당 글에서는 Spring Boot에서 Thymeleaf에 대한 환경 구성을 하고 Thymeleaf Layout을 적용하기 위한 방법에 대해서 공유합니다. 1) 개발환경 💡 Thymeleaf Template / Thymeleaf Template Layout을 구성을 위한 개발환경입니다. 개발환경 버전 java 1.8 Spring Boot 2.7.4 빌드관리도구 Gradle 7.5 개발 툴 IntelliJ IDEA 2022.3 spring-boot-starter-thymeleaf 2.7.4 thymeleaf-layout-dialect 3.1.0 2) 적용 계기 💡 Thymeleaf Template을 사용하면서 Header / Footer / SideBar / Body에 대한 각각의 구성하는 영역이 필요했고..
[Java/Library] Slf4j - Log4j2 이해하고 설정하기
·
Java/Spring Boot
해당 글에서는 로깅 라이브러리에 대해 이해를 하고 개발환경을 구성하는 것을 목적으로 작성하였습니다     💡 [참고] yml 파일 형태로 Spring Boot Log4j2를 설정하는 방법이 궁금하시면 아래의 글을 참고하시면 도움이 됩니다. [Java] Spring Boot Log4j2 이해하기 -1 : 주요 특징, 구성 요소, yml 설정방법해당 글에서는 Log4j2에 대해 이해하고 Spring Boot 환경에서 Log4j2를 설정하는 방법에 대해 알아봅니다. 💡 [참고] xml 형태로 간단한 설정을 하는 방법에 대해 알고 싶으시면 이전에 작성한 글을 참adjh54.tistory.com    1) 개발 환경💡 해당 글은 Spring Boot 내에 로깅 라이브러리를 적용한 개발 환경입니다.개발환경버전..
[Java/Library] HikariCP 이해하고 적용하기 (with. MyBatis)
·
Java/Spring Boot
해당 글에서는 HikariCP에 대해 이해하고 영속성 프레임워크(Persistence Framework)인 MyBatis와 연동을 하는 적용 방법에 대해서 공유 목적으로 작성한 글입니다.      💡 [참고] 이전에 구성하였던 환경에 'HikariCP'를 적용하였습니다 [JAVA] Spring Boot내에서 MyBatis & PostgreSQL 연동하기해당 글에서는 Spring Boot내에 Mybatis와 PostgreSQL을 연결하고 로직 처리를 위한 환경 설정 및 파일 구성에 대해서 공유합니다. 1) 사전 확인 작업 1. DB 드라이버 설치 확인 # postgreSQL 버전을 확인한다.adjh54.tistory.com  1) 개발 환경💡 해당 글은 Spring Boot 내에 HikariCP를 사용..
[Java/Library] Spring Boot 2.x 환경에서 Swagger 이해하고 적용하기 : SpringDoc openAPI UI
·
Java/Spring Boot
해당 글에서는 Spring Boot 개발 환경에서 Swagger를 적용하는 방법에 대해서 설명합니다.    💡 [참고] Spring Boot 3.x 버전을 사용하시는 경우, 아래의 링크를 참고하셔야 합니다. [Java] Spring Boot 3.x Swagger3 이해하고 적용하기 : SpringDoc OpenAPI Starter WebMVC UI 및 구성 방법해당 글에서는 Spring Boot 3.x 버전 내에서 Swagger3을 SpringDoc OpenAPI Starter WebMVC UI를 통해 이해하고 설정하는 방법에 대해 알아봅니다.1) Swagger💡Swagger- RESTful 웹 서비스를 설계, 구축, 문서화 및 사adjh54.tistory.com      1) Swagger💡 Sw..
[JAVA] Spring Boot내에서 MyBatis & PostgreSQL 연동하기
·
Java/Spring Boot
해당 글에서는 Spring Boot내에 Mybatis와 PostgreSQL을 연결하고 로직 처리를 위한 환경 설정 및 파일 구성에 대해서 공유합니다.   💡 최하단에 해당 환경 구성과 관련하여 '로컬 DB 구성 방법', 'HikariCP'를 통한 Connection 관리, 'Spring Security' 구성 및 'JWT'를 통한 인증 방법에 대해서 관련 글들도 참고해 보시면 좋을 것 같습니다 🙏   1) 사전 확인 작업1. DB 드라이버 설치 확인# postgreSQL 버전을 확인한다.$ postgres --version# 설치가 안되었다면 설치를 한다.$ brew install postgresql  2. 개발 환경 확인구분언어 / 라이브러리 언어Java웹 프레임워크Spring BootPersist..
[Java/IntelliJ] Spring Boot Devtools 이해하고 설정하기
·
Java/Spring Boot
해당 글은 Spring Boot의 spring-boot-devtools에 대해 이해하고 Automatic Restart, Live Reload의 기능 사용방법에 대해서 공유 목적으로 작성한 글입니다. 1) spring-boot-devtools💡 spring-boot-devtools - Spring Boot Application을 개발하고 디버깅을 하는데 도움이 되는 도구 모음을 의미합니다. - 개발 단계에서 자동으로 다시 로드되는 기능을 제공하여 개발자가 변경 사항을 신속하게 확인할 수 있도록 도움을 줍니다. 또한 라이브 리로딩, 프로퍼티 변경 감지 및 자동 재시작과 같은 기능도 제공합니다 💡 오픈소스 빌드 자동화 툴(Gradle 혹은 Maven) 내에 라이브러리를 추가합니다.# Gradle depend..