spring mvc中AOP事物的配置,AOP事物不生效解决办法
发布日期:2021-10-02 10:57:05 浏览次数:32 分类:技术文章

本文共 873 字,大约阅读时间需要 2 分钟。

spring mvc中很多时候都会配置扫描其,如

<context:component-scan base-package="XX.XX.*" />

扫描spring mvc的注解,此时如果在其他spring配置文件中,配置AOP的事物,如本人使用mybatis,在spring-mybatis中有如下配置,配置事物处理,处理事物

此时发现service 层的事物并没有生效,

度娘后结合项目分析,得出结论,若不正确欢迎指正,由于初始化时先加载了spring-mvc.xml配置文件此时由于配置的扫描器包含了service层,此时并没有加入AOP,所有AOP不能对事物进行管理,在词加载spring-mybatis配置文件,此时虽然有aop但是,因为容器的原因,将会导致,使用的service并不是后面加载的service,所以虽然配置了事物管理却不生效

解决办法:

添加列外,感觉有点像spring mvc 的interceptor添加例外,

通过exclude-filter标签添加例外如:

 <context:component-scan  base-package="pack.*" > 

        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
      </context:component-scan> 

对其进行列外处理,解决该问题。

网页都说使用此方式,将会导致try..catch的事物处理不生效,本人没有验证,

转载地址:https://blog.csdn.net/jiangyunlovec/article/details/79041465 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql创建简单的存储过程,mybaits使用存储过程
下一篇:java线程传输参数的方法

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月13日 10时29分17秒