zoukankan      html  css  js  c++  java
  • Could not obtain transaction-synchronized Session for current thread

    在servlet-context中增加

    <context:annotation-config />(有了<context:component-scan base-package="XXX.XXX" />就不用写这个了)

    <tx:annotation-driven/>

     还要增加xmlns 

    xmlns:tx="http://www.springframework.org/schema/tx"

    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd

    增加类@org.springframework.transaction.annotation.Transactional注释

    增加了bean(不加也可以运行)

    <!-- 声明式容器事务管理 ,transaction-manager指定事务管理器为transactionManager -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
    <tx:method name="add*" propagation="REQUIRED" />
    <tx:method name="get*" propagation="REQUIRED" />
    <tx:method name="*" read-only="true" />
    </tx:attributes>
    </tx:advice>
    <aop:config expose-proxy="true">
    <!-- 只对业务逻辑层实施事务 -->
    <aop:pointcut id="txPointcut" expression="execution(* com.test.service..*.*(..))" />
    <!-- Advisor定义,切入点和通知分别为txPointcut、txAdvice -->
    <aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice"/>
    </aop:config>

    就可以了

  • 相关阅读:
    Jenkins和pipeline
    Docker摘要
    javascript文件加载模式与加载方法
    Pre-shared key
    持续集成CI相关的几个概念
    Fetch诞生记
    Content Security Policy介绍
    vivalidi 一款由Web技术诞生的Web浏览器
    Javascript async异步操作库简介
    Polymer初探
  • 原文地址:https://www.cnblogs.com/javaleon/p/3978509.html
Copyright © 2011-2022 走看看