스프링 부트에서의 AOP(관점 지향 프로그래밍) 및 포인트컷 표현식 활용

AOP 핵심 개념 관점(Aspect): 로깅이나 권한 검사와 같은 공통 관심사를 모듈화한 구성요소로, @Aspect 어노테이션을 통해 클래스를 관점으로 선언한다. 조인포인트(Join Point): 메서드 호출이나 예외 발생과 같은 실행 시점의 특정 위치이며, 스프링 AOP는 메서드 수준만 지원한다. 어드바이스(Advice): 조인포인트에서 수행되는 동작으로 다섯 가지 유형이 있다: @Bef ...

6월 13일 19:54에 게시됨

MyBatis-Plus SQL 쿼리 로그 출력 구성 방법

데이터베이스 연동 시 실제 발송되는 문장을 추적하는 과정은 디버깅 효율성을 높이는 핵심 요소입니다. MyBatis-Plus 는 이를 간편하게 처리할 수 있는 몇 가지 표준화된 절차를 제공합니다. 아래에서는 설정 파일 활용부터 코드로 직접 제어하는 방법까지 정리해 보겠습니다. 1. 설정 파일을 통한 활성화 가장 일반적으로 사용되는 방법은 애플리케이션 설정 파일에 해 ...

6월 13일 19:37에 게시됨

Spring Boot @Import 어노테이션을 활용한 자동 구성

1. 서론 Spring Boot에서 @Import 어노테이션은 지정한 클래스들을 Spring IoC 컨테이너에 자동으로 등록하는 강력한 기능을 제공한다. 이 어노테이션은 크게 4가지 방식으로 활용할 수 있다: 일반 Bean 클래스 직접 등록 Configuration 클래스 등록 ImportSelector 구현 클래스 등록 ImportBeanDefinitionRegistrar 구현 클래스 등록 @Import 어노테이션 정의 @Impo ...

6월 12일 00:07에 게시됨

Spring Boot 3에서 Druid 데이터베이스 풀 통합하기

Spring Boot 3 환경에서 Druid 커넥션 풀을 적용할 때 호환성 문제로 인해 접속 오류가 발생하는 경우가 있습니다. 본 문서는 이러한 문제를 해결하고 올바르게 설정하는 방법을 안내합니다. Maven 의존성 추가 pom.xml 파일에 다음 의존성을 포함시켜야 합니다: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-sprin ...

6월 11일 23:49에 게시됨

Spring Boot 다중 데이터 소스 및 트랜잭션 관리

Spring Boot 애플리케이션에서 여러 데이터베이스를 사용하고 각각의 트랜잭션을 제어하는 방법을 설명합니다. 애플리케이션 시작 지점에 @EnableTransactionManagement 어노테이션을 추가하여 트랜잭션 관리를 활성화합니다. package com.example.multidb; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringB ...

6월 10일 00:34에 게시됨

SpringBoot 비동기 태스크에서 HttpServletRequest 접근하기

Spring Boot 애플리케이션에서 비동기 태스크는 일반적으로 @Async 어노테이션을 사용하여 구현됩니다. 이를 통해 백그라운드 스레드에서 메서드를 실행할 수 있어 애플리케이션의 성능과 응답 속도를 향상시킬 수 있습니다. 그러나 비동기 태스크에서 HttpServletRequest 객체에 접근해야 하는 경우, 몇 가지 도전에 직면하게 됩니다. HttpServletRequest는 스레드에 바인 ...

6월 9일 21:35에 게시됨

Java 기반 오프라인 환경의 미디어 콘텐츠 안전성 자동 검증 시스템 설계

엔터프라이즈급 시스템 구축 시 외부 인터넷망 접근이 차단된 폐쇄형 네트워크 환경에서 사용자 업로드 파일에 대한 보안 검증은 필수적입니다. 특히 성인물, 폭력적 장면 등 불건전 콘텐츠를 자동 필터링하기 위해 일반적인 클라우드 API 는 사용할 수 없으므로, 온프레미스에서 수행 가능한 로컬 분석 기술의 도입이 필요합니다. 본 프로젝트에서는 Python 기반의 오픈 ...

6월 9일 00:47에 게시됨

Spring AI MCP 서버의 STDIO 및 SSE 구현

Spring AI MCP 서버는 다양한 데이터 전송 메커니즘을 지원하며, 각각의 전송 방식은 고유한 스타터를 통해 활성화됩니다. 이 문서에서는 STDIO와 SSE(SERVER-SENT EVENTS)에 초점을 맞춰 설명합니다. STDIO STDIO 서버는 MCP(Machine Communication Protocol) 서버의 모든 기능을 지원합니다. 이를 사용하면 다음과 같은 장점이 있습니다: 명령줄 도구 및 데스크 ...

6월 8일 23:05에 게시됨

개푸시(GeTui) 푸시 알림 통합 가이드

개푸시 공식 문서: https://docs.getui.com/getui/server/rest_v2/push/ 먼저 개푸시 공식 계정을 신청하고, 앱을 등록하여 AppID, AppKey, AppSecret, MasterSecret을 획득합니다. 통합 가이드 설정 파일 작성 .yml 파일 수정 pushConfig: appId: OokKLlwRjU7tJMccVVra72 appKey: f8C6lK7OGu1115ckOfVxD8 masterSecret: aTxslPiUJy9kzzZaPONL26 appSecret: sAoJ ...

6월 1일 22:26에 게시됨

Java/SpringBoot + Maven에서 Logback 활용 가이드

의존성 추가 일반 Java + Maven 프로젝트의 경우 다음 의존성을 수동으로 추가해야 합니다. <properties> <logback.version>1.2.3</logback.version> <slf4j.version>1.7.30</slf4j.version> </properties> <dependencies> <dependency> <groupId>org.slf4j&lt ...

6월 1일 11:46에 게시됨