빈 초기화 시 트랜잭션 적용
570
작성한 질문수 4
안녕하세요,
강의 내용 중, "@PostConstruct 메서드에 트랜잭션을 적용할 수 없는 이유는 빈의 초기화 코드가 먼저 실행되고 나서 트랜잭션 AOP가 적용되기 때문"이라는 부분에 대한 질문입니다.
테스트 메서드에 추가적인 로깅을 해보니 ApplicationContext 속 Hello 빈이 프록시 객체임을 확인할 수 있었습니다. 그런데 이처럼 컨테이너에 프록시 객체로 등록되었다는 것은 이미 해당 빈의 초기화 시점에 @Transactional 어노테이션을 인식했기 때문인 것으로 이해했습니다. 그렇다면 초기화 시점에 해당 빈이 트랜잭션 적용 대상이라는 것을 알고있다는 것인데, 어째서 트랜잭션 AOP가 작동하지 못하는 건가요?
컨테이너에 프록시 객체로 등록되는 것과, 실제 트랜잭션 AOP 적용은 별개의 문제인건지 궁금하네요
답변 1
RepositoryTest의 패키지 위치가 domain인 이유
0
29
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
29
1
update()에 사용하는 setter 질문드립니다.
0
47
1
SQL 중심적 개발의 문제점에 대한 질문
0
72
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
83
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
173
1
@repository 어노테이션
0
89
3
ItemService
0
58
1
논리 커밋, 물리 커밋 질문드립니다.
0
54
1
내부 트랜잭션 커밋은 필수인가요?
0
57
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
54
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
178
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
77
1
@EventListener(ApplicationReadyEvent.class) 관련
0
88
1
트랜잭션 동기화 매니저와 데이터 소스
0
76
1
DB 관련 강의 개설 계획은 없으신건가요?
0
133
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
94
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
112
1
트랜잭션 전파 질문.
0
87
1
프로젝트 오픈 에러
0
126
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
83
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
72
1
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
0
102
1
커스텀aop와 트랜잭션을 같이 사용할때 우선순위에 관한 질문
0
98
2





