この記事は Spring コンテナーでトランザクションを管理できない問題の解決策を提供します。必要な方は参考にしていただければ幸いです。
私は現在、springmvc mybatis フレームワークを使用して小さなプロジェクトに取り組んでいます。毎回、コンソール ログに JDBC 接続 [com.mysql.jdbc.JDBC4Connection@59dfe4bc] が出力されます。
Itトランザクション構成に問題があることがわかります。構成ファイルを調べたところ、コードを確認して @Transactional アノテーションが使用されていることがわかりました。
#そこで、何が問題だったのかを考え始めました。以前に Spring のソース コードと springmvc のソース コードをいくつか見たことがあったため、いくつか考えた結果、Spring の設定に問題があることがわかりました。 file
と springmvc 設定ファイル ##Spring 設定ファイルでスキャンされた Bean にトランザクション アノテーションを追加した後、Spring はトランザクションを使用してそれにプロキシを追加します。 springmvc コンテナが開始されると、Spring コンテナ getbean と親子関係になります。このプロセスでは、まずサブコンテナのbean を取得します。問題はここにあります。 springmvc コンテナにはトランザクション処理機能がないため、スキャン戦略にいくつかの調整を加えました。
springmvc 構成ファイルで、
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
をアノテーション スキャンに追加し、プロジェクトを実行します。
トランザクションを管理するスプリング。
以上がSpringコンテナでトランザクション管理できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。