日韩性视频-久久久蜜桃-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启动加载流程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 草莓视频成人在线 | 亚洲自拍小视频 | 狠狠撸视频 | 亚洲精品乱码久久久久久黑人 | 日韩免费在线观看 | www.五月.com | 亚洲午夜精品 | 久久久精品一区二区涩爱 | 欧洲精品久久久久毛片完整版 | 精品国产一区二区三区久久久蜜臀 | 中文字幕在线观看三区 | 69久久久久 | 在线观看中出 | 欧洲一区二区视频 | 伊人爱爱网| 国产精品国产三级国产传播 | 91精品在线免费观看 | 中文字幕第80页 | 久久精品导航 | 秋霞精品 | www.男人天堂 | 久久久久国产精品一区二区 | 亚洲国产日韩欧美一区二区三区 | 99久久久无码国产精品性黑人 | 夜夜成人 | 可以免费在线观看的av | 色悠悠国产 | 特黄一区二区三区 | 色妞网| 97成人超碰| 特极毛片 | 肮脏的交易在线观看 | jizz欧美性20| 国产女主播在线 | 麻豆激情网 | 九色91| 欧美精品首页 | 国产精品久久久免费观看 | 亚洲精品字幕 | 色偷偷中文字幕 | 国产特级aaaaaa大片 | 无人在线观看的免费高清视频 | 女人18片毛片60分钟 | 99无码熟妇丰满人妻啪啪 | 噜噜噜久久,亚洲精品国产品 | 波多野结衣在线视频免费观看 | 久操视频免费看 | 国产精品一区二区自拍 | 99久久这里只有精品 | 俄罗斯色片 | 91亚洲精品一区二区乱码 | 成人一区三区 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 国产精品久久9 | 国产精品666 | 国产aa视频 | 日本少妇喂奶 | 欧美xxxxx高潮喷水麻豆 | 国产亚洲久一区二区 | 成人性做爰aaa片免费看不忠 | 亚洲午夜精品视频 | 日韩中文字幕在线看 | 精品看片| 少妇一级淫免费放 | 欧美激情图区 | 色图插插插| 欧美永久 | 久久99精品久久只有精品 | 久久特黄 | 久久久精 | 久久这里只有精品6 | 久久久久久成人精品 | 蜜臀久久精品久久久用户群体 | 亚洲精品1 | 国产精品免费一区二区三区在线观看 | 蜜臀av在线免费观看 | 极品白嫩少妇无套内谢 | 午夜一区二区三区免费观看 | 色a在线| 国产偷人妻精品一区二区在线 | 中文字幕一区二区三区在线不卡 | 日韩精品视| 日本人妻不卡一区二区三区中文字幕 | 精品欧美黑人一区二区三区 | 国产亚洲精品久久久久久打不开 | 综合久久综合 | h片免费在线观看 | 色婷婷小说 | 加勒比成人在线 | 国产黄a三级三级看三级 | 免费看的黄色小视频 | av2014天堂网 | 欧美日韩免费高清 | 色网站免费在线观看 | 粉嫩av| 免费观看国产精品视频 | 黄片毛片av| 日本特黄| 黄大色黄大片女爽一次 |