mybatisのspringにおける事務配置問題

2467 ワード

この二日間ずっと小物を振り回しています.とても簡単なモバイル端末webappです.
jquery mobile+ssmを使っています.
ほぼ同じことを書く時、事務問題を解決したいと思っていますが、とても簡単だと思いました.配置ファイルに対応するmybatisを入れてspringに配置すればいいです.
設定はこうです.
 
 
    <bean id="txManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    bean>
    <tx:annotation-driven transaction-manager="txManager" proxy-target-class="true" />
 
その後、ずっと有効ではないことが分かりました.mapperを呼び出してデータベースの添削を行う時、ずっと表示されます.
org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5a3157c4]
取得したSql Sessionはずっと事務処理がないことを証明して、その後また異常を捕獲した後に再度異常を投げ出すなどの方法を試みましたが、いずれも有効ではありません.
よく考えると、やはり配置ファイルの問題です.
これまでの事務マネージャの配置はずっとspring-mybatis.xmlに置いていましたが、もう一回試してみました.spring-servlet.xmlに入れてください.再起動後、再試行しましたが、有効になりました.ログは以下の通りです.
org.mybatis.spring.SqlSessionUtils - Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6d344a12]
...
org.springframework.jdbc.datasource.DataSourceTransactionManager - Initiating transaction rollback
やはり配置の順序の問題をロードして、もう一つの経験を得たようです.
springの配置は大きな学問のようです.
 
転載先:https://www.cnblogs.com/zhuxiangguo/p/5875755.html