Spring MVC 只扫描controller 和去除controller 都什么用

Sir丶雨轩 发布于 2016/10/20 17:56
阅读 2K+
收藏 0
<!-- 扫描的包路径 去掉Controller注解 -->
<context:component-scan base-package="com.yuxuan66.yxbaseframe">
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />

</context:component-scan>

<!-- 只扫描Controller 注解 -->
<context:component-scan base-package="com.yuxuan66.yxbaseframe"
use-default-filters="false">
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
<context:include-filter type="annotation"
expression="org.springframework.web.bind.annotation.ControllerAdvice" />
</context:component-scan>

这两项配置到底有什么用? 有什么好处?

加载中
1
A
Alextex
Spring MVC管理Controller,Spring 管理Controller之外的Bean,去除Controller应该是Spring的配置吧
0
张小平-os
张小平-os

exclude-filter 要排除的。

include-filter 要包含的。

use-default-filters="false" 不用默认的过滤器扫描代码中的@Controller等注解

554330833a
554330833a
回复 @张小平-os : 我猜这样是想mvc和spring的配置文件分开扫描
张小平-os
张小平-os
回复 @Sir丶雨轩 : 看一下,我写的这篇文章。https://my.oschina.net/wuminghai/blog/760007
张小平-os
张小平-os
回复 @Sir丶雨轩 : 也可以这么做,<context:component-scan base-package="cn.xiaoping.zhang"/>。没有说好处与坏处的区分,根据需要不同,就用不同的扫描注册bean的方式。
Sir丶雨轩
Sir丶雨轩
请问这样有什么好处呢
0
zzuqiang
zzuqiang
解释很详细呀
0
阿信sxq
阿信sxq

你所粘贴的代码分别在两个不同配置文件之中,

对于全局的spring配置,是要排除controller的扫面的;而对于mvc的配置只扫面controller。

原因在于上下文环境和作用域的关系,mvc只对应于你配置的servlet映射那里,你可以配置多个servlet,然后启用几个mvc的上下文配置试试

返回顶部
顶部