Backend 96

Spring 기반 Quartz Scheduler 기본 예제 코드(1) - 구조적 설계와 흐름 설명

📌 목차 1. 전체 아키텍처 개요 2. AutowiringSpringBeanJobFactory 설명 3. QuartzConfig 설정 설명 4. AbstractSchedulerJob 구조 설명 5. TestSimpleJob 역할과 구성 6. TestSimpleProcessor (실제 Job 실행) 7. ApplicationRunner를 이용한 자동 스케줄 등록 8. 전역 Listener 구성 ">📌 목차1. 전체 아키텍처 개요 2. AutowiringSpringBeanJobFactory 설명 3. QuartzConfig 설정 설명 4. AbstractSchedulerJob 구조 설명 5. TestSimpleJob 역할과 구성 6. TestSimpleProcessor (실제 Job 실행) 7. Appl..

Spring 기반 오픈소스 스케줄러 (Quartz Scheduler) 기본 구성 흐름

📌 목차 1. Quartz Scheduler란? 2. Quartz Scheduler의 핵심 구성 요소 3. Spring과 Quartz의 통합 4. Quartz의 Job 실행 흐름 5. Quartz의 다양한 Trigger 타입 6. 클러스터링과 분산 처리 7. Quartz 사용 시 주의할 점 8. 실무 적용 시 전략 ">📌 목차1. Quartz Scheduler란? 2. Quartz Scheduler의 핵심 구성 요소 3. Spring과 Quartz의 통합 4. Quartz의 Job 실행 흐름 5. Quartz의 다양한 Trigger 타입 6. 클러스터링과 분산 처리 7. Quartz 사용 시 주의할 점 8. 실무 적용 시 전략 1. Quartz Scheduler란?">1. Quartz Schedule..

Spring 멀티모듈 환경에서 @FeignClient가 자동 등록되지 않는 이유와 해결 방안

📌 목차 1. Spring Boot의 컴포넌트 스캔 원리 2. 멀티모듈 구조에서 발생하는 문제 3. 자동 등록이 실패하는 이유 4. 해결 방법: `@EnableFeignClients`에 basePackages 명시 5. `scanBasePackages`로는 왜 안 되는가? 6. 요약 7. 예제 코드 "> 📌 목차 1. Spring Boot의 컴포넌트 스캔 원리 2. 멀티모듈 구조에서 발생하는 문제 3. 자동 등록이 실패하는 이유 4. 해결 방법: `@EnableFeignClients`에 basePackages 명시 5. `scanBasePackages`로는 왜 안 되는가? 6. 요약 7. 예제 코드 1. Spring Boot의 컴포넌트 스캔 원리"> 1. Spring Boot의 컴포넌트..

Spring 의존관계 자동 주입(DI) 방식 선택 기준 정리

📌 목차 1. 의존관계 자동주입이란? 2. 의존관계 주입 방식과 예제 3. @Autowired를 이용한 자동주입 4. 생성자 vs 필드 vs 세터 주입 5. 자동주입 시 고려할 점 6. Spring Boot의 자동 구성과 DI 7. Bean의 스코프와 주입 시기 8. 실무에서의 Best Practice 9. 요약 ">📌 목차1. 의존관계 자동주입이란? 2. 의존관계 주입 방식과 예제 3. @Autowired를 이용한 자동주입 4. 생성자 vs 필드 vs 세터 주입 5. 자동주입 시 고려할 점 6. Spring Boot의 자동 구성과 DI 7. Bean의 스코프와 주입 시기 8. 실무에서의 Best Practice 9. 요약 1. 의존관계 자동주입이란?">1. 의존관계 자동주입이란?스프링에서의의존관계 ..

QueryDSL - 한 번의 SQL 쿼리로 여러 건의 데이터를 일괄 수정 또는 삭제하는 방법 (벌크 연산)

📌 목차 1. 벌크 연산이란? 2. QueryDSL 벌크 수정 (Update) 3. QueryDSL 벌크 삭제 (Delete) 4. 주의사항: 영속성 컨텍스트와의 관계 5. 추가로 알아야 할 개념 6. 정리 ">📌 목차1. 벌크 연산이란? 2. QueryDSL 벌크 수정 (Update) 3. QueryDSL 벌크 삭제 (Delete) 4. 주의사항: 영속성 컨텍스트와의 관계 5. 추가로 알아야 할 개념 6. 정리 1. 벌크 연산이란?">1. 벌크 연산이란?벌크 연산(Bulk Operation)이란, 한 번의 SQL 쿼리로 여러 건의 데이터를 일괄 수정 또는 삭제하는 작업을 말한다.이는 개별 엔티티를 하나씩 수정하거나 삭제하는 것보다 훨씬 빠르고 효율적이다.특징설명목적대량 데이터 일괄 처리성능단건 처리..

Backend/JPA 2025.03.25

QueryDSL 동적 쿼리 - (BooleanBuilder, Where 다중 파라미터 방식)

📌 목차 1. 동적 쿼리(Dynamic Query)란? 2. BooleanBuilder 방식 3. where 다중 파라미터 방식 4. 두 방식의 차이점 및 비교 5. 추가적으로 알아야 할 개념 6. 정리 ">📌 목차1. 동적 쿼리(Dynamic Query)란? 2. BooleanBuilder 방식 3. where 다중 파라미터 방식 4. 두 방식의 차이점 및 비교 5. 추가적으로 알아야 할 개념 6. 정리 1. 동적 쿼리(Dynamic Query)란?">1. 동적 쿼리(Dynamic Query)란?동적 쿼리란 입력값에 따라 where 절의 조건이 유동적으로 바뀌는 쿼리를 의미한다.예시검색 조건으로 이름, 나이 중 하나만 입력한 경우사용자 선택에 따라 조건이 유동적으로 적용되는 UI 필터QueryDSL..

Backend/JPA 2025.03.25

QueryDsl - 프로젝션을 DTO 결과로 반환하는 방법과 개념

📌 목차 1. 프로젝션(Projection)이란? 2. 순수 JPA에서 DTO 조회 3. QueryDSL에서 DTO 조회 4. DTO 필드명이 다를 경우 처리 5. @QueryProjection을 활용한 DTO 조회 6. 비교 정리">📌 목차1. 프로젝션(Projection)이란? 2. 순수 JPA에서 DTO 조회 3. QueryDSL에서 DTO 조회 4. DTO 필드명이 다를 경우 처리 5. @QueryProjection을 활용한 DTO 조회 6. 비교 정리 1. 프로젝션(Projection)이란?">1. 프로젝션(Projection)이란?프로젝션(Projection)은 쿼리 결과에서 특정 필드만 선택하여 반환하는 기법을 의미한다.JPA에서 엔티티 전체를 조회하는 것이 아니라, 필요한 데이터만 선택..

Backend/JPA 2025.03.17

JPA (Spring Data JPA) - Spring Boot 3+ QueryDSL 및 JPA 기본 설정, p6spy 로깅 방법

📌 목차 1. QueryDSL 개요 2. QueryDSL 설정 및 빌드 프로세스 3. JPA 관련 YML 설정 4. Hibernate Dialect 및 ddl-auto 설정 5. P6Spy를 활용한 SQL 로그 설정 6. 정리 ">📌 목차1. QueryDSL 개요 2. QueryDSL 설정 및 빌드 프로세스 3. JPA 관련 YML 설정 4. Hibernate Dialect 및 ddl-auto 설정 5. P6Spy를 활용한 SQL 로그 설정 6. 정리 1. QueryDSL 개요">1. QueryDSL 개요QueryDSL이란?QueryDSL은 타입 세이프(Typed-safe)한 쿼리를 작성할 수 있도록 지원하는 DSL(Domain Specific Language) 라이브러리다.JPA, SQL, Mong..

Backend/JPA 2025.03.13

JPA (Spring Data JPA) - SimpleJpaRepository(JPA Repository 기본 구현체) 파악해보기

📌 목차 1. SimpleJpaRepository란? 2. SimpleJpaRepository의 주요 특징 3. save() 메서드 분석 4. 새로운 엔티티 판별 방식 5. Persistable 인터페이스를 활용한 새로운 엔티티 판별 6. 정리 ">📌 목차1. SimpleJpaRepository란? 2. SimpleJpaRepository의 주요 특징 3. save() 메서드 분석 4. 새로운 엔티티 판별 방식 5. Persistable 인터페이스를 활용한 새로운 엔티티 판별 6. 정리Spring Data JPA에서 JpaRepository 인터페이스의 기본 구현체로 사용되는 클래스다.Spring이 JPA 리포지토리를 자동으로 생성할 때 내부적으로 사용되며, 기본적인 CRUD 기능을 수행한다.주요 역..

Backend/JPA 2025.03.13

JPA (Spring Data JPA) - JPA 페이징과 정렬 처리 방법

📌 목차 1. 페이징과 정렬이란? 2. 페이징과 정렬 예제 3. 요청 파라미터 사용법 4. 글로벌 기본값 설정 5. DTO로 변환하여 반환 6. 정리 ">📌 목차1. 페이징과 정렬이란? 2. 페이징과 정렬 예제 3. 요청 파라미터 사용법 4. 글로벌 기본값 설정 5. DTO로 변환하여 반환 6. 정리1. 페이징과 정렬이란?">1. 페이징과 정렬이란?페이징 (Pagination)페이징(Pagination)은 대량의 데이터를 한 번에 조회하지 않고, 일정한 크기로 나누어 가져오는 방법이다.예를 들어, 사용자가 웹 애플리케이션에서 10개의 데이터만 한 번에 조회하도록 설정하면 메모리 사용량을 줄이고 응답 속도를 최적화할 수 있다.정렬 (Sorting)정렬(Sorting)은 특정 컬럼을 기준으로 데이터의 정..

Backend/JPA 2025.03.12