작성
·
239
0
안녕하세요. 강의 잘 듣고 있습니다.
제가 수강하는 시점엔 SpringBoot 3.x.x, security6를 써야 하지만, security5과 아키텍처는 대동소이할 거 같아 수업과 동일한 환경에서 강의 듣고 있습니다.
강사님 영상에서 10:45 보시면 authenticate()에 @Transactional이 들어가있는데요. 제가 실습 환경에서는, 이 애노테이션 때문인 것 같은데, AjaxAuthenticationProvider 프록시 객체 생성에서 에러가 발생합니다.
대체 @Transactional이랑 무슨 상관인지는 파악하지 못했지만 설마..하고 해당 애노테이션을 지우고 나니 AjaxAuthentication 프록시 객체가 잘 생성되고 정상 동작을 하더라고요.
이유가 정말 궁금합니다.
좋은 강의 감사합니다.
답변 2
1
음.. 네
제가 @Transactional 가 있는 상태에서 실행해 보면 오류가 발생하지는 않는데요..
전체 코드를 공유해 주시면 제가 확인해 볼 수는 있지만 아마 실행환경이 저와 틀릴 수 있을 것 같습니다.
@Transational 이 선언되었다고 해서 특별히 오류가 나야할 이유는 없습니다.
트랜잭션 처리를 하고 안하고의 문제이기 때문인데요..
정확한 원인은 직접 실행해 봐야 알 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
수강생님께서 AjaxAuthenticationProvider
의 authenticate
메서드에 @Transactional
애노테이션을 사용하는데 발생하는 문제와 그 이유에 대해 질문하셨네요. 해당 내용에 대해서는 강의 중에서도 다루어진 바 있으며, 강사님이 직접 답변을 제공한 예전 질문이 있어 참고하실 수 있습니다.
같은 내용에 대한 질문과 강사님의 답변은 다음 링크에서 확인하실 수 있습니다:
- @Transactional 사용 이유: 강의 Q&A 링크
질문자님의 경우와 유사한 상황에서 @Transactional
애노테이션이 필요 없거나, 원래는 JPA 관련 로직이 있었으나 나중에 제거되었기 때문에 해당 애노테이션이 불필요하다는 내용이었습니다. 삭제하셔도 무방하다는 조언을 받으실 수 있을 것입니다.
도움이 되셨길 바랍니다.
그렇군요..답변 감사드립니다.