美文网首页
springmvc的contextloaderlistener与

springmvc的contextloaderlistener与

作者: 浪白条 | 来源:发表于2019-05-10 15:50 被阅读0次

    对于contextConfigLocation参数,有2个地方可以配置:

    1)context-param 是全局性配置
    2)servlet下的init-param 是局部性配置
    若以上两处都设置了一个相同的bean配置文件路径,那么该文件内配置的bean会被初始化2次,所以一个配置文件只能选择一种配置位置;

    项目中使用spring框架有2种方式:

    1)listener下的ContextLoaderListener 是一种引入方式,默认读取/WEB-INF/applicationContext.xml,属于根容器,bean会被共享
    2)若是spring-web项目,DispatcherServlet 也是一种引入方式,默认读取/WEB-INF/${servlet-name}-servlet.xml,属于子容器,启动servlet处理web请求
    倘若以上2种配置都引入了,那么全局性的bean配置文件会被加载2次;而且2种方式的各自配置文件里的配置项在某种意义上并不是合并互补,而是各成一个体系(虽然普通的bean看似是都加载到全局上下文来了,但还是有一些特殊bean和配置项没有按预期的那样工作);

    根上下文怎么可以被字容器读出?

    在servlet子容器初始化时去拿根容器,然后cwac.setParent(rootContext);
    WebApplicationContext rootContext =
    WebApplicationContextUtils.getWebApplicationContext(getServletContext());

    相关文章

      网友评论

          本文标题:springmvc的contextloaderlistener与

          本文链接:https://www.haomeiwen.com/subject/npmaoqtx.html