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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring启动加载流程

發布時間:2025/3/19 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring启动加载流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上次看了spring的加載流程,今天發現或多都忘記了,今天又看了一下,順便總結一下:

標題spring的web項目啟動:

1、首先web容器(比如Tomcat)會讀取配置在web.xml中的監聽器,從而啟動spring容器。

<!--web項目中上下文初始化參數, name value的形式 --> <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value> </context-param><!--ContextLoaderListener,會通過它的監聽啟動spring容器--> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><!--DispatherServlet,前端MVC核心,分發器,SpringMVC的核心--> <servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup> </servlet>

1、web容器(如tomcat)讀取web.xml, 創建ServletContext,它是web的上下文,整個web項目都會用到它。
2、讀取context-param節點,它以 鍵值對的形式出現。將節點值轉化為鍵值對,傳給ServletContext。(默認的文件為/WEB-INF/applicationContext.xml)。
3、容器創建中的實例,創建監聽器。監聽器必須繼承ServletContextListener 調用ServletContextListener的contextInitialized()方法,spring容器的創建和初始化就是在這個方法中。
4、在web容器初始化過程中,會創建節點的監聽器,并調用它的contextInitialized()方法。這個方法中會完成spring容器的創建,初始化,以及beans的創建。(會調用以下方法)
initWebApplicationContext()主要做三件事

  • 創建WebApplicationContext,通過createWebApplicationContext()方法
    加載spring配置文件,并創建beans。
  • 通過configureAndRefreshWebApplicationContext()方法
  • 將spring容器context掛載到ServletContext
  • 這個web容器上下文中。通過servletContext.setAttribute()方法。
    createWebApplicationContext 創建spring容器
  • 獲取WebApplicationContext實現類的class對象
  • 根據class對象創建實例對象
    configureAndRefreshWebApplicationContext加載spring配置文件,創建beans
    configureAndRefreshWebApplicationContext()這個方法會先讀取web.xml中聲明的contextConfigLocation元素,通過它找到spring配置文件。然后在refresh()方法中讀取配置文件,并創建和初始化beans。所以重中之重還是refresh()方法

流程圖

spring容器初始化的整個流程圖如下

創建WebApplicationContext對象流程如下

讀取XML配置文件,創建beans流程如下

轉載:https://blog.csdn.net/u013510838/article/details/75066884
注:web.xml的加載順序是:context-param-listener-filter-servlet。其中,如果web.xml中出現了相同的元素,則按照在配置文件中出現的先后順序來加載。

總結

以上是生活随笔為你收集整理的spring启动加载流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产二区精品视频 | av天堂永久资源网 | 免费一级淫片aaa片毛片a级 | 日韩精品资源 | 激情丁香六月 | 女人的洗澡毛片毛多 | 夫妻啪啪呻吟x一88av | 噜噜噜久久,亚洲精品国产品 | 亚洲啪av永久无码精品放毛片 | 中国女人内谢69xxxx免费视频 | a级黄色在线观看 | 玩偶姐姐在线观看免费 | 色婷婷国产精品 | 欧美日韩免费观看视频 | 99久久精品日本一区二区免费 | 阿v天堂2018| 色中文字幕 | 亚洲伊人久久综合 | 国产乱子伦农村叉叉叉 | 少妇扒开粉嫩小泬视频 | 老司机狠狠爱 | 99精品久久久久久久婷婷 | 中文字幕成人一区 | 欧美男人亚洲天堂 | ass极品国模人体欣赏 | 香蕉国产精品 | 欧美色v | 尤物91| 欧美一级黄色片在线观看 | 都市激情男人天堂 | 抖音视频在线观看 | 欧美精品在线观看 | 爱啪啪影视 | 伊人影视大全 | 成年人免费视频观看 | 日韩欧美在线视频免费观看 | 久久久三级视频 | 国产91福利 | 中文在线8资源库 | 日韩欧美一二区 | 午夜视频在线观看国产 | 四虎最新网址在线观看 | 亚洲一区中文字幕在线观看 | 91丨九色丨蝌蚪丨对白 | 国产一级在线观看视频 | 欧美精品99久久 | 日本欧美色 | 欧美少妇一区 | 欧美精品久久天天躁 | 男人天堂网av | 熟妇人妻系列aⅴ无码专区友真希 | 欧美日一区二区 | 波多野结衣一区二区三区中文字幕 | 日韩中文字幕免费 | 久草视频这里只有精品 | 99久久这里只有精品 | 第四色视频 | 一区二区中文字幕在线观看 | 青青青免费视频观看在线 | 污污的视频在线观看 | 欧美与黑人午夜性猛交久久久 | 永久免费AV无码网站韩国毛片 | 一区二区三区四区在线免费观看 | 波多野结衣办公室双飞 | 色站综合 | 欧美在线aa | 91视频在| 精品人妻互换一区二区三区 | 久草热在线视频 | 国产成人激情视频 | 亚洲九九爱 | 日韩人妻精品一区二区三区视频 | 黄色大片网站在线观看 | 91网视频| 韩国性猛交╳xxx乱大交 | 日韩一区二区三区在线观看视频 | 欧美视频第二页 | 午夜久久| 动漫美女被吸奶 | 亚洲插插插 | 夜夜嗨av一区二区三区 | 美女视频国产 | 国色天香网站 | 手机av在线看 | 亚洲国产精品无码专区 | 中文字幕激情视频 | aaa黄色大片 | 色原网| 免费的一级片 | 绯色av一区二区三区高清 | 中文在线不卡视频 | 久久成人乱码欧美精品一区二区 | 国产精品羞羞答答在线观看 | 午夜高清视频 | 相亲对象是问题学生动漫免费观看 | 日韩欧美三级 | 日韩精品在线一区 | 日本一道本在线 | 欧美网站在线 |