springboot 7

[SpringBoot] Java Stream API에 대한 이해

Java Stream API1. Stream APIJava 8부터 추가된 기능으로, 컬렉션을 더욱 직관적이고 함수형 스타일로 다룰 수 있도록 도와줌. 기존의 for 루프와 Iterator를 사용한 방식보다 간결하고 가독성이 좋음. 또한 병렬 처리를 쉽게 적용할 수 있어 성능 최적화에도 도움을 줌.2. Stream API 주요 특징연속적인 처리 가능: 한 번에 여러 연산을 조합해서 사용 가능함내부 반복 (Internal Iteration): for문을 사용하지 않고도 데이터 처리가 가능함중간 연산과 최종 연산 구분: 중간 연산은 여러 개 연결할 수 있지만, 최종 연산이 실행될 때 실제 데이터가 처리됨불변성 유지: 원본 데이터를 변경하지 않고 새로운 스트림을 생성하여 처리함지연 연산 (Lazy Evaluat..

SpringBoot 2025.03.31

[SpringBoot] @Builder 사용법 및 정리

Lombok @Builder(toBuilder = true) 정리Lombok의 @Builder는 객체를 생성할 때 빌더 패턴을 적용할 수 있도록 도와주는 어노테이션임. 특히 toBuilder = true 옵션을 사용하면 기존 객체를 기반으로 새로운 객체를 쉽게 생성할 수 있음.1. @Builder 기본 사용법@Builder를 사용하면 객체 생성 시 빌더 패턴을 자동으로 적용할 수 있음.import lombok.Builder;@Builderpublic class User { private String name; private int age;}위 코드에서 Lombok이 자동으로 생성하는 빌더 패턴 메서드는 다음과 같음.User user = User.builder() .name("Alice")..

SpringBoot 2025.03.21

[SpringBoot] @AllArgsConstructor & @NoArgsConstructor 사용법 및 정리

Lombok @AllArgsConstructor & @NoArgsConstructor 정리@AllArgsConstructor와 @NoArgsConstructor는 생성자를 자동으로 생성하는 어노테이션임.1. @AllArgsConstructor@AllArgsConstructor는 모든 필드를 포함하는 생성자를 자동으로 생성해 줌.사용 예시import lombok.AllArgsConstructor;@AllArgsConstructorpublic class User { private String name; private int age;}위 코드에서 @AllArgsConstructor를 추가하면 다음과 같은 생성자가 자동으로 생성됨.public User(String name, int age) { ..

SpringBoot 2025.03.21

[SpringBoot] Spring Boot 예외 처리 하기

Spring Boot 예외 처리 정리Spring Boot에서 예외(Exception) 처리는 안정적인 애플리케이션을 만들기 위해 필수적인 요소임. 적절한 예외 처리를 통해 오류 발생 시 클라이언트에게 의미 있는 응답을 반환하고, 시스템의 안정성을 보장할 수 있음.1. 글로벌 예외 처리 (Global Exception Handling)모든 컨트롤러에서 발생하는 예외를 전역적으로 처리하기 위해 @RestControllerAdvice를 활용하여 예외 처리를 중앙 집중화할 수 있음.import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.anno..

SpringBoot 2025.03.21

[SpringBoot] JSOUP 사용 (HWP to HTML, HTML to HWP)

요구사항사용자는 서식내용을 html으로 다운로드 받아 해당 웹페이지를 복사하여 hwp파일에 붙여넣어서 데이터를 수정하는것이다.https://github.com/neolord0/hwplib hwplib를 활용하여 hwp파일을 불러와서 데이터를 넣어서 html형식으로 저장하면 될거같지만 표를 동적으로 넣어야하는 케이스가 있는데 생각보다 사용방법이 어렵기도하고 기간이 얼마 안남아 hwp서식내용을 html으로 변환하여 Jsoup을 이용하여 데이터를 추가하는것이 빠르다고 생각.HWP to HTML1. 한컴 DEVELOPER 홈페이지https://developer.hancom.com/docsconverter-examplehwp > html뿐만아니라 다양한 파일 형식 변환을 지원한다.모양이 이쁘게 나오는데 다만 변환..

SpringBoot 2025.03.04

[Spring Boot] 전자정부프레임워크 @Valid 유효성 적용

들어가기프로젝트 백엔드 유효성 검사하기위해서 @Valid를 적용했지만 여전히 잘 안되었다..나랑 똑같은 상황인 사람이 질문 남긴게 있었는데 의존성 추가하여 구성할수 있다고 하지만난 여전히 검증이 안되었다;https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:ptl:validationpackage com.easycompany.validator;import org.springframework.validation.Errors;import org.springframework.validation.Validator;import org.springframework.validation.ValidationUtils;import com.easycompany...

SpringBoot 2025.03.04

[Spring Boot] JWT - AccessToken, RefreshToken

들어가기새로운 프로젝트를 시작하면서 전자정부 프레임워크를 사용해야 해서기본으로 제공하는 부트템플릿 페이지를 사용했다.https://github.com/eGovFramework/egovframe-template-simple-backend해당 부트템플릿 페이지는 JWT를 기반으로 사용자를 검증하는데 JWT토큰을 1개만 사용하는데유효기간이 다른 JWT 토큰 2개(Acses Token과 Refresh Token)을 따로 두기로 했다.1. JWT (JSON Web Token)개념JWT(JSON Web Token)는 JSON 형식의 데이터를 안전하게 전송하기 위한 토큰 기반 인증 방식이다.즉, 클라이언트가 로그인하면 서버는 JWT를 생성하여 클라이언트에게 발급하고, 클라이언트는 이후 요청마다 이 토큰을 포함하여 인..

SpringBoot 2025.03.04