Web环境中Spring MVC(二)

          

      发现自己其实还没有很好的理解 Spring和Web容器的交互,Spring 的IOC容器究竟是什么呢?Spring MVC 是如何依赖IOC体系在Web容器中运转的呢?仔细翻看看了《Spring内幕》这本书,发现其中都有答案,只不过之前看的太浅,不太理解;所谓的看山是山,看山不是山,看山还是山,大概就是这样吧。又一次从心底折服老师的三遍学习法和对比学习法。

      废话不多说了,其实在Web环境中的Spring MVC(一)中已经表述的很清楚了,但是其中的字符太多了,接口和接口、实现类和子类都搞的头发长,慢慢的一篇字符让人看得欲望都没有了。还是看图吧。



                   

       其中XmlWebApplicationContext是Spring IOC容器默然的实现类,双亲容器和子容器都是由它来实现的,当然也可以指定实现类;另外还需要知道ContextLoaderListener类、ContextLoader类以及ServletContextListener接口之间的关系(草图中会展示)。


       针对Web容器,Spring会在Web.xml中至少配置四个标签,其中一个ContextLoaderListener(监听器)是启动跟Ioc容器并把它加载到Web容器的主要模块,通过加载过程可以看到,首先从Servlet事件中得到ServletContext,,然后可以读取配置在Web.xml中的各个相关属性,接着ContxtLoadr会实例化WebApplicationContxt,并完场其载入和初始化的过程。

                  





         草图确实有点草蛋,但是我还没有找到更好的替代的图,可能只有很少的人能看懂,如果有合适的图,我就把草图换了,大家可以看《Spring技术内幕》.page(154)。这篇博客可以说是对上一篇的细致描述,除了没有分享源码外,其他的大概都在里面了。有兴趣的可以看看源码,Spring是如何设置默认的实现类为XmlApplicationContext?子上下文是如何共享调用根上下文的。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值