이 글은 스프링 컨테이너로 트랜잭션을 관리할 수 없는 문제에 대한 해결책입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
저는 최근 springmvc mybatis 프레임워크인 작은 프로젝트를 진행하고 있습니다. 콘솔 로그에 JDBC 연결 [com.mysql.jdbc.JDBC4Connection@59dfe4bc]이 표시되며 Spring 출력에서는 관리되지 않습니다.
트랜잭션 구성에 문제가 있다는 뜻입니다. 구성 파일을 살펴보니 주석이 달린 트랜잭션이 구성되어 있는 것을 발견했습니다. 코드를 살펴보고 @Transactional 주석도 사용했기 때문에 어떻게 되었는지 생각해 보았습니다. 이전에 spring 및 springmvc의 소스 코드를 본 적이 있기 때문에 몇 가지 아이디어가 있습니다. 그래서 몇 가지 생각을 한 후에 spring 구성 파일 과 springmvc 구성 파일 에서 문제를 찾았습니다. Spring 구성 파일에 스캔된 Bean은 트랜잭션 주석을 추가하며 springmvc 컨테이너가 시작된 후 프로세스를 갖습니다. getbean은 먼저 하위 컨테이너에서 bean을 가져오는 것입니다. springmvc 컨테이너의 bean에는 트랜잭션 처리 기능이 없으므로 스캐닝 전략에 중점을 두었습니다.springmvc의 주석 스캔에서. 구성 파일에 추가<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />프로젝트 실행 spring이 트랜잭션을 관리할 수 있습니다.
위 내용은 스프링 컨테이너로 트랜잭션을 관리할 수 없는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!