Java Spring WEB应用实例化如何实现
程序员文章站
2022-11-05 17:55:53
1.前面讲解的都是通过直接读取配置文件,进行的实例化applicationcontextabstractapplicationcontext app = new classpathxmlapplica...
1.前面讲解的都是通过直接读取配置文件,进行的实例化applicationcontext
abstractapplicationcontext app = new classpathxmlapplicationcontext("beans.xml");
下面讲解直接通过配置文件进行初始化。
2.web.xml
<context-param> <param-name>contextconfiglocation</param-name> <param-value>classpath:beans.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener>
这样,applicationcontext便已经实例化了,默认就直接加载了beans.xml里面的内容。
来看看底层的代码,类contextloaderlistener中有个初始化方法
public void contextinitialized(servletcontextevent event) { this.contextloader = createcontextloader(); if (this.contextloader == null) { this.contextloader = this; } this.contextloader.initwebapplicationcontext(event.getservletcontext()); }
进入initwebapplicationcontext方法 :
applicationcontext parent = loadparentcontext(servletcontext); // store context in local instance variable, to guarantee that // it is available on servletcontext shutdown. this.context = createwebapplicationcontext(servletcontext, parent);
这句也就是容器加载的结果。
1和2一个是java代码一个是xml代码,不过实现的效果都是一样的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: linux正则表达式awk详解
下一篇: 你吃了啥饭,我真看不出来了