728x90 반응형 전체 글586 [Spring] 트랜잭션 AOP 트랜잭션 AOP를 이해하려면 Spring AOP와 프록시(proxy) 개념을 정확히 이해하는 게 좋다.✅ 스프링 AOP란?🌟 AOP (Aspect-Oriented Programming): 관점 지향 프로그래밍핵심 비즈니스 로직 외에, 공통된 부가 기능을 관심사(Aspect) 로 분리해서 코드 중복을 줄이는 방식예를 들어:트랜잭션 처리로깅보안 검사성능 측정이런 기능들을 여러 클래스마다 직접 넣지 않고, 공통 모듈로 따로 분리해서 끼워넣는 방식이다. 🌀 스프링 AOP 특징항목설명구현 방식프록시 기반 AOP (자바 Proxy 또는 CGLIB 사용)적용 대상스프링 빈에만 적용실행 시점런타임에 적용 (컴파일 타임 아님)성능빠르고 가볍지만 제한적 (메소드 단위만 지원) ✅ 프록시(Proxy)란?📌 프록시는 대.. 2025. 4. 8. [Spring] 트랜잭션 템플릿 (p.s 템플릿 콜백 패턴) 트랜잭션을 사용하는 코드를 보면 반복되는 패턴들이 있다. // 트랜잭션 시작TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());try { // 비즈니스 로직 bizLogic(fromId, toId, money); transactionManager.commit(status); // 성공시 커밋} catch (Exception e) { transactionManager.rollback(status); // 실패시 롤백 throw new IllegalStateException(e);} 트랜잭션 시작 → 비즈니스 로직 실행 → 성공 시 커밋 / 예외 발생, 실패 .. 2025. 4. 8. [Spring] 트랜잭션 매니저 https://drcode-devblog.tistory.com/590 [Spring] 트랜잭션 추상화와 동기화 (스프링으로 트랜잭션 문제점 해결)애플리케이션은 다양한 구조로 구성될 수 있지만, 대표적으로 역할에 따라 3가지 계층으로 나눠볼 수 있다 1) 프레젠테이션 계층 ① UI와 관련된 처리를 담당 ② 웹 요청과 응답 ③ 사용자 요drcode-devblog.tistory.com 트랜잭션 추상화와 동기화를 적용하는 예제를 작성해보자. MemberRepositoryV3 package hello.jdbc.repository;import hello.jdbc.domain.Member;import lombok.extern.slf4j.Slf4j;import org.springframework.jdbc.dataso.. 2025. 4. 1. [Java] 향상된 switch문 (jdk 14버전 이상부터) 자바를 처음 배울 때, 내가 알던 자바의 switch 문은 아래와 같은 형식이었다.String str = "Mon";String day = "";switch(str) { case "Mon" : day = "월요일"; break; case "Tue" : day = "화요일"; break; case "Wed" : day = "수요일"; break; case "Thu" : day = "목요일"; break; case "Fri" : day = "금요일"; break; case "Sat" : day = "토요일"; break; default : day.. 2025. 3. 26. [Spring] 트랜잭션 추상화와 동기화 (스프링으로 트랜잭션 문제점 해결) 애플리케이션은 다양한 구조로 구성될 수 있지만, 대표적으로 역할에 따라 3가지 계층으로 나눠볼 수 있다 1) 프레젠테이션 계층 ① UI와 관련된 처리를 담당 ② 웹 요청과 응답 ③ 사용자 요청을 검증함 ④ 주 사용 기술은 서블릿과 HTTP 같은 웹 기술, 스프릥 MVC 2) 서비스 계층 ① 비즈니스 로직을 담당 ② 주 사용 기술은 가급적 특정 기술에 의존하지 않고, 순수 자바 코드로 작성 3) 데이터 접근 계층 ① 실제 DB에 접근하는 코드 ② 주 사용 기술은 JDBC, JPA, FIle , Redis, Mongo... 등등 가장 중요한 계층은 서비스 계층왜 서비스 계층이 가장 중요할까? 핵심 비즈니스 로직이 들어있는 계층이기 때문이다.UI(웹)와 관련된 부분이 트랜드에 맞게 변하게 되기 마련이고, .. 2025. 1. 3. [Spring] 트랜잭션 개념 적용 예제 이전 포스팅에서 DB 트랜잭션과 락에 대해서 살펴봤다. DB 개념을 적용하여 트랜잭션을 어플리케이션에서 어떻게 적용하는지 한번 살펴보자. DB 트랜잭션을 사용해서 계좌이체 같이 원자성이 중요한 비즈니스 로직을 어떻게 구현하는지 알아보자 MemberServiceV1.javapackage hello.jdbc.service;import hello.jdbc.domain.Member;import hello.jdbc.repository.MemberRepositoryV1;import lombok.RequiredArgsConstructor;import java.sql.SQLException;@RequiredArgsConstructorpublic class MemberServiceV1 { private final .. 2024. 12. 23. 이전 1 2 3 4 ··· 98 다음 728x90 반응형