日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebApplicationContext初始化

發(fā)布時間:2025/3/19 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebApplicationContext初始化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

《WebApplicationContext初始化

ApplicationContext是Spring的核心,Context我們通常解釋為上下文環(huán)境,我想用“容器”來表述它更容易理解一些,ApplicationContext則是“應(yīng)用的容器”了;在Web應(yīng)用中,我們會用到WebApplicationContext,WebApplicationContext繼承自ApplicationContext;WebApplicationContext的初始化方式和BeanFactory.ApplicationContext有所區(qū)別,因?yàn)閃ebApplicationContext需要ServletContext實(shí)例,也就是說它必須擁有Web容器的前提下才能完成啟動的工作.有過Web開發(fā)經(jīng)驗(yàn)的讀者都知道可以在web.xml中配置自啟動的Servlet或定義Web容器監(jiān)聽器(ServletContextListener),借助著兩者中的任何一個,我們就可以啟動Spring Web應(yīng)用上下文的工作.

Spring分別提供了用于啟動WebApplicationContext的Servlet和Web容器監(jiān)聽器:

org.springframework.web.context.ContextLoaderServlet;

org.springframework.web.context.ContextLoaderListener.

這兩個方法都是在web應(yīng)用啟動的時候來初始化WebApplicationContext,我個人認(rèn)為Listerner要比Servlet更好一些,因?yàn)長isterner監(jiān)聽?wèi)?yīng)用的啟動和結(jié)束,而Servlet得啟動要稍微延遲一些,如果在這時要做一些業(yè)務(wù)的操作,啟動的前后順序是有影響的。

配置例子如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>
</listener>

那么在ContextLoaderListener和ContextLoaderServlet中到底做了什么呢?
以ContextLoaderListener為例,我們可以看到
public void contextInitialized(ServletContextEvent event) {
this.contextLoader = createContextLoader();
this.contextLoader.initWebApplicationContext(event.getServletContext());
}
protected ContextLoader createContextLoader() {
return new ContextLoader();
}
ContextLoader是一個工具類,用來初始化WebApplicationContext,其主要方法就是initWebApplicationContext,我們繼續(xù)追蹤initWebApplicationContext這個方法(具體代碼我不貼出,大家可以看Spring中的源碼),我們發(fā)現(xiàn),原來ContextLoader是把WebApplicationContext(XmlWebApplicationContext是默認(rèn)實(shí)現(xiàn)類)放在了ServletContext中,ServletContext也是一個“容器”,也是一個類似Map的結(jié)構(gòu),而WebApplicationContext在ServletContext中的KEY就是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,我們?nèi)绻褂肳ebApplicationContext則需要從ServletContext取出,Spring提供了一個WebApplicationContextUtils類,可以方便的取出WebApplicationContext,只要把ServletContext傳入就可以了。


轉(zhuǎn)載于:https://blog.51cto.com/longx/1321153

總結(jié)

以上是生活随笔為你收集整理的WebApplicationContext初始化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲射情 | 夜色快播 | 91成人在线免费视频 | 精产国品一区二区三区 | 色综合天天射 | 亚洲天堂二区 | 黄色一级大片在线免费看国产 | 少妇高潮一区二区三区99 | av特黄| 五月婷婷丁香六月 | xvideos永久免费入口 | 99re这里只有| 欧美福利视频一区 | 日韩免费网址 | 亚洲免费精品视频 | 欧美特级视频 | 蜜桃视频在线入口www | 69久久久久久 | 中国少妇高潮 | 久久国产劲爆∧v内射 | 自拍偷拍第5页 | 亚洲精品高潮久久久久久久 | 奇米第四色影视 | 欧美五月激情 | 台湾三级伦理片 | 99久久精品免费 | 少妇视频 | 日韩在线视频精品 | www.com日本| 日本高清www| 99久久99久久精品国产片果冰 | 第五色婷婷| 欧美特级黄色录像 | 色亚洲天堂 | 欧美色图1 | 中文一二三区 | 日本a天堂 | 1024福利| 亚洲黄色在线观看视频 | 国产a级免费视频 | 青青草视频免费播放 | 午夜tv影院| 少妇影院在线观看 | 欧美成人一二区 | 日韩中文娱乐网 | 亚洲欧美日韩国产 | 国产精品久久久久久一区二区三区 | 欧美第一页草草影院 | 国产日| 国产精品18p | 99精品小视频| 中日韩在线观看视频 | 女人高潮娇喘1分47秒 | 成人超碰在线 | 一级女性全黄久久生活片免费 | 天天干天天添 | 国产又粗又长又硬免费视频 | 亚洲精品国产suv一区 | 久久天堂 | 美国一级黄色大片 | 久久看毛片 | 久久国产精品无码一级毛片 | 中文在线观看免费网站 | 日韩专区在线播放 | 日韩人妻无码精品综合区 | 三级欧美日韩 | 动漫涩涩免费网站在线看 | 亚洲欧美韩日 | 青青草原综合久久大伊人精品 | 一区二区三区视频观看 | 亚州中文| 欧美熟妇另类久久久久久不卡 | 亚洲女优在线播放 | 日本xx视频免费观看 | 久久久国产一区二区 | 久草毛片 | 亚洲色图欧美视频 | 8mav在线 | 91精产国品 | 少妇人妻一级a毛片 | 日韩中文字幕在线视频 | 中国少妇初尝黑人巨大 | 日韩精品免费一区 | 美女扒开腿让男人 | 伊人网色| 亚洲风情亚aⅴ在线发布 | 亚洲1024| 欧美日韩色片 | 清纯唯美亚洲综合 | 激情深爱五月 | 欧美aaaaaaaaa | 亚洲网站免费 | 99re这里只有精品在线 | 少妇裸体淫交视频免费看高清 | 综合五月| 色www亚洲国产张柏芝 | 91久久精品国产 | 久久亚洲一区二区 | 成年黄色片 |