>  기사  >  Java  >  스프링 컨테이너로 트랜잭션을 관리할 수 없는 문제 해결

스프링 컨테이너로 트랜잭션을 관리할 수 없는 문제 해결

不言
不言앞으로
2018-10-10 11:37:511979검색

이 글은 스프링 컨테이너로 트랜잭션을 관리할 수 없는 문제에 대한 해결책입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

저는 최근 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제