일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- @configuration
- 김영한
- 오블완
- 인터페이스
- 프록시
- JSON
- 오버라이딩
- 백준
- HttpServletResponse
- 예외와 트랜잭션 커밋
- 코드트리조별과제
- 추상클래스
- DI
- 다형성
- 티스토리챌린지
- html form
- http 메시지 컨버터
- 싱글톤
- 의존관계
- 참조변수
- 스프링
- java
- fielderror
- 스프링컨테이너
- 코드트리
- objecterror
- equals()
- 테스트코드
- 코딩테스트
- 서블릿
- Today
- Total
목록프록시 (2)
minOS

트랜잭션 AOP 적용트랜잭션 AOP를 사용하는 새로운 서비스 클래스MemberServiceV3_3package hello.jdbc.service;import hello.jdbc.domain.Member;import hello.jdbc.repository.MemberRepositoryV3;import lombok.extern.slf4j.Slf4j;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.Transactional;import org.springframework.transaction.support.TransactionTemplate;import ..

트랜잭션 AOP 이해- 지금까지 트랜잭션을 편리하게 처리하기 위해서 트랜잭션 추상화도 도입하고, 추가로 반복적인 트랜잭션 로직을해결하기 위해 트랜잭션 템플릿도 도입했다.- 트랜잭션 템플릿 덕분에 트랜잭션을 처리하는 반복 코드는 해결할 수 있었다. 하지만 서비스 계층에 순수한 비즈니스 로직만 남긴다는 목표는 아직 달성하지 못했다.- 이럴 때 스프링 AOP를 통해 프록시를 도입하면 문제를 깔끔하게 해결할 수 있다. 프록시 도입하기 전서비스의 로직에서 트랜잭션을 직접 시작한다.서비스 계층의 트랜잭션 사용 코드 예시// 트랜잭션 시작TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());try ..