日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot啟動及自動裝配原理過程詳解

瀏覽:20日期:2023-05-25 18:12:14

一、servlet2(老spring-mvc)

配置文件:

web.xml:主要配置項(xiàng)目啟動項(xiàng) application-context.xml:主要配置項(xiàng)目包掃描、各種bean、事務(wù)管理 springMVC.xml:主要配置controller包掃描、視圖解析器、參數(shù)解析器

啟動過程:

每一個spring項(xiàng)目啟動時都需要初始化spring-context,對于非web項(xiàng)目可以在程序main方法中觸發(fā)這個context的初始化過程。由于web項(xiàng)目的啟動入口在容器,所以開發(fā)者不能直接觸發(fā)spring-context的初始化,就需要將初始化過程與容器的啟動過程做強(qiáng)關(guān)聯(lián)。

由于容器啟動時會加載解析web.xml文件,所以web.xml正是建立關(guān)聯(lián)的好地方。web.xml中所配置的ContextLoadListener就是這個關(guān)聯(lián)點(diǎn),它監(jiān)聽到容器啟動了就會去初始化spring-context。

由于DispatcherServlet是全局核心控制器,所有的請求都需要被它攔截,所以他的啟動時機(jī)需要配置,默認(rèn)是第一個請求到來時才實(shí)例化它。

但是可以將它配置為隨容器啟動而初始化,在DispatcherServlet初始化過程中去讀取springMVC.xml配置文件,完成controller映射、視圖解析、參數(shù)解析等工作。

二、servlet3

Servlet3規(guī)定,如果在當(dāng)前項(xiàng)目的classPath下,存在META-INF/services/javax.servlet.ServletContainerInitializer配置文件,且文件中寫了ServletContainerInitializer的實(shí)現(xiàn)類的全類名,容器啟動時實(shí)現(xiàn)類的onStartup方法就會被調(diào)用。在spring中配置的ServletContainerInitializer接口實(shí)現(xiàn)類是org.springframework.web.SpringServletContainerInitializer。

上面提到的spring提供的ServletContainerInitializer實(shí)現(xiàn)類上有一個@HandlesTypes(WebApplicationInitializer.class)注解,此注解會將括號中的WebApplicationInitializer接口在項(xiàng)目中的所有實(shí)現(xiàn)類組裝為set,在SpringServletContainerInitializer的onStartup方法中進(jìn)行遍歷實(shí)例化并一一調(diào)用實(shí)例的onStartup方法,SpringBoot提供的WebApplicationInitializer接口實(shí)現(xiàn)類是SpringBootServletInitializer,此時項(xiàng)目的spring-contextdispatcherServlet初始化操作就可以放到這個方法中來,這樣就取代了web.xml。

通過@Configuration注解,之前需要在spring-application-context.xml中配置的bean注入到了容器,此時對應(yīng)的xml配置文件就被取代了。

springMVC.xml的主要功能是掃描具有@Controller的類,由于啟動類上的@SpringBootApplication注解集成了@ComponentScan,它默認(rèn)會掃描啟動類當(dāng)前包及子包下所有類,所以springMVC.xml的功能被取代了。

三、spring-boot啟動

當(dāng)執(zhí)行spring-boot啟動類的main函數(shù)時,會實(shí)例化一個Tomcat對象,然后調(diào)用了Tomcat對象的一連串方法:

Tomcat tomcat = new Tomcat();tomcat.addWebApp('/', 'D:/app/'); //調(diào)用此方法是將項(xiàng)目當(dāng)做web項(xiàng)目放入容器,同時也會觸發(fā)ServletContainerInitializer的onStartup方法tomcat.setPort(8080);tomcat.start();tomcat.getServer().await(); //啟動線程,阻塞等待

方法添加@ResponseBody注解表示返回值交給消息轉(zhuǎn)換處理,否則就交給視圖解析器處理。

@Configurationpublic class GsonMessageConverterConfig implements WebMvcConfigurer {@Override //自定義消息解析器public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {converters.add(new GsonHttpMessageConverter());}@Override //自定義視圖解析器public void configureViewResolvers(ViewResolverRegistry registry) {registry.jsp('/', '.jsp');}}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产情侣一区在线| 日韩高清不卡一区二区| 欧洲激情综合| 99精品小视频| 91欧美精品| 天堂av在线一区| 亚洲国产日韩欧美在线| 蜜桃精品在线| 精品欧美久久| 日韩中文在线播放| 国产中文欧美日韩在线| 国产精品久久久久久久免费观看 | 电影亚洲精品噜噜在线观看| 国产精品theporn| 日韩精品五月天| 国产日本久久| 五月国产精品| 久久久夜夜夜| 蜜桃视频欧美| 欧美~级网站不卡| 爽爽淫人综合网网站| 亚洲尤物在线| 日本va欧美va瓶| 日韩欧美中文字幕电影| 国产精品一区2区3区| 国产剧情一区| 国产精品午夜av| 黄色在线观看www| 91综合网人人| 肉色欧美久久久久久久免费看 | 国产精品主播在线观看| 国产精品www.| 国产欧美一区二区色老头| 日韩**一区毛片| 精品亚洲免a| 欧美男人天堂| 六月婷婷一区| 欧美久久精品| 国产精品久久久久久模特| 日韩福利一区| 亚洲激情中文在线| 国产亚洲午夜| 国产精品三p一区二区| 精品视频国内| 日韩精品不卡一区二区| 国产视频一区三区| 亚洲精品欧美| 欧美一级二级三级视频| 福利一区和二区| 欧美午夜精彩| 亚洲精品三级| 色一区二区三区| 91久久国产| 蜜桃久久久久久| 精品国产网站| 久久久久国产精品一区二区| 日本中文字幕一区二区视频| 国产伦精品一区二区三区视频| 国产日韩视频| 欧美久久天堂| 欧美 日韩 国产精品免费观看| 欧美一级专区| 国产精品国码视频| 红桃视频亚洲| 91国内精品| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产图片一区| 国产在线欧美| 日韩欧美美女在线观看| 亚洲色图网站| 精品美女在线视频| 日韩亚洲国产欧美| 综合日韩av| 国产亚洲久久| 久久av一区二区三区| 亚洲三级欧美| 欧美日韩va| 香蕉久久久久久久av网站| 欧美日韩免费观看视频| 欧美午夜三级| 另类国产ts人妖高潮视频| 欧美男人天堂| 另类欧美日韩国产在线| 日本aⅴ精品一区二区三区| 欧美日韩视频一区二区三区| 免费亚洲婷婷| 婷婷视频一区二区三区| 在线视频精品| 久久国产电影| a天堂资源在线| 欧美1区2区3| 久久激五月天综合精品| 中文一区一区三区免费在线观 | 亚洲成a人片| 最新亚洲国产| 亚洲精品88| 亚洲精品中文字幕99999| 最近高清中文在线字幕在线观看1| 午夜一级久久| 久久久久久网| 久久一区精品| 亚洲精品大片| 欧美性感美女一区二区 | 亚洲一级大片| 久久av导航| 中文字幕一区二区三区在线视频| 欧产日产国产精品视频| 成人精品国产亚洲| 91精品视频一区二区| 激情欧美丁香| 另类欧美日韩国产在线| 亚洲精品乱码| 欧美日韩中文字幕一区二区三区| 国产精品**亚洲精品| 国产精品手机在线播放| 一区二区三区午夜视频| 久久亚洲色图| 久久在线电影| 91嫩草亚洲精品| 高清av不卡| 美女在线视频一区| 国产精品99久久久久久董美香| 蜜臀久久久久久久| 日韩久久一区二区三区| 亚洲日本网址| 精品中国亚洲| 高清一区二区三区| 欧美日韩91| 久久av超碰| 久久丁香四色| 爽爽淫人综合网网站| 亚洲一区二区免费在线观看| 伊人久久亚洲热| 丝袜脚交一区二区| 91精品99| 精品丝袜在线| 天堂网在线观看国产精品| 国产一二在线播放| 精品丝袜在线| 日韩精品永久网址| 成人午夜亚洲| 久久精品国产久精国产| 日韩精品91亚洲二区在线观看| 91欧美精品| 日韩三级一区| 国产精品v亚洲精品v日韩精品| 欧美一级全黄| 国产无遮挡裸体免费久久| 精品久久99| 水蜜桃久久夜色精品一区| 久久免费黄色| 欧美午夜精品一区二区三区电影| 国产探花一区在线观看| 美女久久99| 久久av免费看| 久久久久美女| 蜜桃成人av| 久久狠狠婷婷| 欧美亚洲在线日韩| 91久久国产| 日韩视频1区| 亚洲精品福利| 久久精品系列| 不卡福利视频| 亚洲欧美日韩综合国产aⅴ| 婷婷成人av| 国产精品一区二区av日韩在线| 日韩中文欧美| 午夜国产精品视频免费体验区| 日韩专区欧美专区| 日韩三区四区| 国产精品片aa在线观看| 精品免费视频| 午夜欧美巨大性欧美巨大| 亚洲影院天堂中文av色| 日韩欧乱色一区二区三区在线| 国产精品一区二区三区美女| 国产aⅴ精品一区二区三区久久| 亚洲精品**中文毛片| 亚洲综合精品四区| 视频一区日韩| 91欧美在线| 国产亚洲亚洲| 精品入口麻豆88视频| 久久麻豆精品| 亚洲黄页一区| 丝袜美腿一区二区三区| 久久久精品网| 久久精品欧洲| 国产亚洲人成a在线v网站| 热久久免费视频| 免播放器亚洲一区| 日韩高清在线不卡| 国产精品99久久免费观看| 99久久九九| 日韩在线网址| 亚洲国产专区校园欧美| 蜜桃91丨九色丨蝌蚪91桃色| 日韩成人精品一区| 亚洲黄页一区|