配置spring扫描器的一个疑问!

这是jeesite3里面配置的一段,扫描器的代码,为什么要这么配置,直接扫描不行吗?

为什么要让主容器和mvc容器,分别扫描不同的东西?

 <!-- 使用Annotation自动注册Bean,解决事物失效问题:在主容器中不扫描@Controller注解,在SpringMvc中只扫描@Controller注解。  -->
    <context:component-scan base-package="com.thinkgem.jeesite"><!-- base-package 如果多个,用“,”分隔 -->
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    <!-- 使用Annotation自动注册Bean,只扫描@Controller -->
    <context:component-scan base-package="com.thinkgem.jeesite" use-default-filters="false"><!-- base-package 如果多个,用“,”分隔 -->
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

因为 Controller 是mvc的控制器函数,所以在控制器里需要找到它们。在别的地方需要忽略它们