작성
·
484
1
안녕하세요,
강의 내용 중, "@PostConstruct 메서드에 트랜잭션을 적용할 수 없는 이유는 빈의 초기화 코드가 먼저 실행되고 나서 트랜잭션 AOP가 적용되기 때문"이라는 부분에 대한 질문입니다.
테스트 메서드에 추가적인 로깅을 해보니 ApplicationContext 속 Hello 빈이 프록시 객체임을 확인할 수 있었습니다. 그런데 이처럼 컨테이너에 프록시 객체로 등록되었다는 것은 이미 해당 빈의 초기화 시점에 @Transactional 어노테이션을 인식했기 때문인 것으로 이해했습니다. 그렇다면 초기화 시점에 해당 빈이 트랜잭션 적용 대상이라는 것을 알고있다는 것인데, 어째서 트랜잭션 AOP가 작동하지 못하는 건가요?
컨테이너에 프록시 객체로 등록되는 것과, 실제 트랜잭션 AOP 적용은 별개의 문제인건지 궁금하네요
감사합니다