配置扫描@Controller注解的细节

本文探讨了Spring MVC配置中<context:component-scan>的使用问题,特别是如何避免因不当配置而导致的事务失效问题。文章指出,若不正确地设置base-package属性或者未妥善处理默认过滤器的行为,可能会导致新加载的bean覆盖原有的bean,进而引发事务管理失效。
<context:component-scan base-package="com.ssh.controller"> 
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> 
</context:component-scan>


在第二种配置,不能把base-package="com.ssh",它是不仅仅扫描@Controller,会导致事务不起作用。
因为如果没有配置<context:component-scan>的use-default-filters属性,则默认为true,会自动扫描@Service和@Reposity,

而配置aop没有在springmvc配置文件中,从而造成新加载的bean覆盖了老的bean,造成事务失效。只要使用use-default-filters=“false”禁用掉默认的行为就可以了。

注:spring启动的容器是父容器,springmvc启动的容器是子容器。

子容器能访问父容器的资源,父容器不能访问子容器的资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值