springbootapplication動態(tài)配置 SpringBoot項目中如何定制HTTP消息轉(zhuǎn)換器?
SpringBoot項目中如何定制HTTP消息轉(zhuǎn)換器?要想自己個性定制HTTP消息轉(zhuǎn)換器需要先明白了SpringBoot默認(rèn)是怎莫做HTTP消息轉(zhuǎn)換的的。先來看我們只是平常工作中的新一個簡單點(diǎn)let'
SpringBoot項目中如何定制HTTP消息轉(zhuǎn)換器?
要想自己個性定制HTTP消息轉(zhuǎn)換器需要先明白了SpringBoot默認(rèn)是怎莫做HTTP消息轉(zhuǎn)換的的。
先來看我們只是平常工作中的新一個簡單點(diǎn)let's請求:
這樣當(dāng)前端請求我們的API的時候,我們是如何能將網(wǎng)絡(luò)傳輸?shù)淖止?jié)流序列化成我們是想的對象呢?任務(wù)業(yè)務(wù)處理后又是如何能返回數(shù)據(jù)呢?
HttpMessageConverter在SpringBoot框架下,是可以可以使用@RequestBody和@ResponseBody兩個注解,四個能完成跪請報文到對象和對象到響應(yīng)報文的轉(zhuǎn)換,底層這種身形靈活的消息轉(zhuǎn)換的機(jī)制,那就是Spring3.x中新化入的HttpMessageConverter即消息轉(zhuǎn)換器機(jī)制。
然后打開任何三個集成主板了Spring-web功能的SpringBoot項目,都可以找到這個HttpMessageConvert:
可以看到他是一個接口類,和他在一個包下面有很多利用類,很有興趣同學(xué)是可以debug跟出來把這塊源碼搞透,這個過程中大家還可以不去學(xué)習(xí)到很多關(guān)與序列化的知識。
源碼解析:怎莫清楚SpringBoot中的默認(rèn)convert
在項目的啟動類上有一個@SpringBootApplication注解,點(diǎn)在里面會看到他是一系列注解的中有,其中有一個@EnableAutoConfiguration注解,再繼續(xù)點(diǎn)進(jìn)來欄里點(diǎn):
發(fā)現(xiàn)到引入了一個類:AutoConfigurationImportSelector類,不再跟在里面有一個方法selectImports():
一直點(diǎn)擊進(jìn)入loadMetadata這個方法:
到這半步不會相信大家就模糊了他是怎莫讀取的了:
再繼續(xù)好好過下去就知道如何運(yùn)行程序消息的默認(rèn)convert,這里就不和大家說答案,我希望大家自己是可以跟到里面看看,收獲是不一樣的~
訂制自己的convert清楚了消息轉(zhuǎn)換器的原理以及SpringBoot中要如何加載的,我們就很清楚如何能去定做自己的消息轉(zhuǎn)換器了,先實現(xiàn)自己的一個convert,可以繼承AbstractHttpMessageConverter:
然后把定義,定義一個WebConfig類無法繼承WebMvcConfigurer,把我們自定義的這個convert加進(jìn)去:
不好算工作中,大家可能很多時候的確是需要自己去基于convert,用設(shè)置為的消息轉(zhuǎn)換器就可以了,如果大家有自己特殊的方法的需求考慮到,要不然不我建議你就得自己去利用這個convert。
以上那就是跪求SpringBoot中要如何個性定制消息轉(zhuǎn)換器的回答了,不足之處歡迎大家那些評論打交道,約定自學(xué)。
我是【java架構(gòu)設(shè)計】,如果沒有我的回答對您有幫助,歡迎轉(zhuǎn)發(fā)點(diǎn)zan,我將緩慢為您可以提供Java領(lǐng)域品質(zhì)良好內(nèi)容!
springboot靜態(tài)頁面怎么連接數(shù)據(jù)庫?
springboot靜態(tài)頁面再連接數(shù)據(jù)庫的第一步是1.直接修改.properties,不使用設(shè)置數(shù)據(jù)源并且兩步走,假如不不使用設(shè)置的數(shù)據(jù)源就可以不導(dǎo)入外部的數(shù)據(jù)源為數(shù)據(jù)庫連接到做準(zhǔn)備,2.SpringBootApplication類改注解,3.去添加數(shù)據(jù)源配置類,采用importpackage的就可以結(jié)束這一個步驟,4、給每個數(shù)據(jù)源生成SQLSessionFactory類,可以使用first數(shù)據(jù)源,連接first數(shù)據(jù)庫,使用固定設(shè)置配置的Factory,實現(xiàn)第二個類,并參照basePackages的值生成氣體Mapper類即可解決。