zoukankan      html  css  js  c++  java
  • Spring中的applicationContext.xml与SpringMVC的xxx-servlet.xml的区别

    如果使用了SpringMVC,事实上,bean的配置完全可以在xxx-servlet.xml中进行配置。为什么需要applicationContext.xml?一定必须?

    回答:

    一:
    因为直接使用了SpringMVC,所以之前一直不明白xxx-servlet.xml和applicationContext.xml是如何区别的,其实如果直接使用SpringMVC是可以不添加applicationContext.xml文件的。
    使用applicationContext.xml文件时是需要在web.xml中添加listener的:
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    (添加了上面监听,会默认加载applicationContext.xml文件的,所以要删掉!)

    而这个一般是采用非spring mvc架构,如使用struts之类而又想引入spring才添加的,这个是用来加载Application Context。
    如果直接采用SpringMVC,只需要把所有相关配置放到xxx-servlet.xml中就OK了。

    二、
    Spring lets you define multiple contexts in a parent-child hierarchy.

    The applicationContext.xml defines the beans for the "root webapp context", i.e. the context associated with the webapp.

    The spring-servlet.xml (or whatever else you call it) defines the beans for one servlet's app context. There can be many of these in a webapp, one per Spring servlet (e.g. spring1-servlet.xml for servlet spring1, spring2-servlet.xml for servlet spring2).

    Beans in spring-servlet.xml can reference beans in applicationContext.xml, but not vice versa.

    All Spring MVC controllers must go in the spring-servlet.xml context.

    In most simple cases, the applicationContext.xml context is unnecessary. It is generally used to contain beans that are shared between all servlets in a webapp. If you only have one servlet, then there's not really much point, unless you have a specific use for it.

  • 相关阅读:
    -_-#【缓存】Content-Type 错误
    ♫【事件】事件处理程序
    -_-#【Node】Express 400 Error: ENOENT, open
    【JS】定位
    【JS】壹零零壹
    洛谷—— P1018 乘积最大
    洛谷—— P1017 进制转换
    洛谷——P1011 车站
    洛谷——P2241 统计方形(数据加强版)
    洛谷——P1548 棋盘问题
  • 原文地址:https://www.cnblogs.com/xhqgogogo/p/3650832.html
Copyright © 2011-2022 走看看