SpringSpringMVC父子上下文/父子容器

例子:
  • 在SSM配置中,Spring管理除了Controller以外的Bean,SpringMVC管理Controller
  • 在SpringCloud中,Ribbon和Feign的配置类Spring官方建议放到启动类扫不到的包下

Spring的配置:application.xml

    <context:component-scan base-package="com.learn" use-default-filters="true">
        <!-- 排除含@Controller注解的类 -->
        <context:exclude-filter type="annotation" expression="com.learn.controller"/>
    </context:component-scan>

SpringMVC的配置:springmvc.xml

    <!--  只扫描含@Controller注解的包,避免重复扫描 -->
    <context:component-scan base-package="com.learn.controller" use-default-filters="true">
    </context:component-scan>

如果扫描重叠的话,则会出现以下几种情况:

  • 扫描的类增多,项目启动的时间变慢
  • @PostConstruct注解标注的方法被执行两次
  • 会使Spring配置的事务失效(Spring是父容器,先初始化,SpringMVC是子容器,后初始化。子容器可以访问父容器的bean,父容器不能访问子容器的bean,当SpringMVC初始化时,它会将已经在父容器中的service等重新初始化一次,而SpringMVC不支持事务)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 9,716评论 2 7
  • 在Spring整体框架的核心概念中,容器的核心思想是管理Bean的整个生命周期。但在一个项目中,Spring容器往...
    java爪哇阅读 4,850评论 0 4
  • 本来是准备看一看Spring源码的。然后在知乎上看到来一个帖子,说有一群**自己连Spring官方文档都没有完全读...
    此鱼不得水阅读 11,810评论 4 21
  • 《他 她》 1 她站在初夏午后寂静山谷的一片橙色花海前,穿一件我买给的胸前金色刺绣改良式黑色旗袍连衣裙...
    梦的衣裳TY阅读 3,680评论 1 6
  • 对于任何一件事情,你都有至少四个选择: 接纳它。 改变它。 离开它。 维持现状,继续抱怨或纠结。 所以无论你有没有...
    即书阅读 1,774评论 0 0