Spring Boot2.0中SpringWebContext找不到無(wú)法使用的解決方法
前言
為了應(yīng)對(duì)在SpringBoot中的高并發(fā)及優(yōu)化訪問(wèn)速度,我們一般會(huì)把頁(yè)面上的數(shù)據(jù)查詢出來(lái),然后放到redis中進(jìn)行緩存。減少數(shù)據(jù)庫(kù)的壓力。
在SpringBoot中一般使用
thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx);
進(jìn)行頁(yè)面的渲染,而這個(gè)ctx就是SpringWebContext對(duì)象,我們一般進(jìn)行如下獲?。?/p>
SpringWebContext swc=new SpringWebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap(),applicationContext);
在SpringBoot 1.X的版本中以上代碼可以使用。但在SpringBoot 2.0中,就無(wú)法找到SpringWebContext了。那應(yīng)該如何去解決這個(gè)問(wèn)題呢?
解決思路
說(shuō)一下我的思路,.process方法中ctx所在參數(shù)所需要的類型為接口IContext
也就是需要有實(shí)現(xiàn)了IContext的類就可以了,然后進(jìn)入IContext接口找所有的實(shí)現(xiàn)類
然后看到WebContext似乎有些像上面所用的SpringWebContext。即做出如下改變,完美實(shí)現(xiàn)了thymeleaf的頁(yè)面渲染。
WebContext ctx = new WebContext(request, response, request.getServletContext(), request.getLocale(), model.asMap()); html = thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx);
在SpringBoot 2.0中使用上述代碼,可以完全替代。
(當(dāng)然在下不才,暫時(shí)只找到了這種辦法,在網(wǎng)絡(luò)上也沒(méi)找到對(duì)應(yīng)的比較不錯(cuò)的策略。所以分享出來(lái),以備分享出來(lái),幫助遇到此問(wèn)題的程序員們。如果大家有什么更好的處理辦法可以一起互相交流哦)
目前我正在搞基于SpringBoot、Redis、消息隊(duì)列的秒殺小項(xiàng)目,主要還是為了梳理如何解決高并發(fā)的問(wèn)題過(guò)程。
GitHub:https://github.com/iquanzhan/SecKillShop (本地上傳)
所用技術(shù)
1.后端:SpringBoot、JSR303、MyBatis
2.前端:Thymeleaf、BootStrap、Jquery
3.中間件:RabbitMQ、Redis、Druid
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
java利用htmlparser獲取html中想要的代碼具體實(shí)現(xiàn)
這篇文章主要介紹了java利用htmlparser獲取html中想要的代碼具體實(shí)現(xiàn),需要的朋友可以參考下2014-02-02Java協(xié)程編程之Loom項(xiàng)目實(shí)戰(zhàn)記錄
這篇文章主要介紹了Java協(xié)程編程之Loom項(xiàng)目嘗鮮,如果用嘗鮮的角度去使用Loom項(xiàng)目,可以提前窺探JVM開(kāi)發(fā)者們是如何基于協(xié)程這個(gè)重大特性進(jìn)行開(kāi)發(fā)的,這對(duì)于提高學(xué)習(xí)JDK內(nèi)核代碼的興趣有不少幫助,需要的朋友可以參考下2021-08-08SpringBoot結(jié)合ProGuard實(shí)現(xiàn)代碼混淆(最新版)
這篇文章主要介紹了SpringBoot結(jié)合ProGuard實(shí)現(xiàn)代碼混淆(最新版),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10IntelliJ?IDEA快速查詢maven依賴關(guān)系圖文教程
Maven提供了來(lái)查看依賴關(guān)系,而IDE往往提供了更加便利的方式,比如Eclipse或者IDEA都有類似的功能,下面這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA快速查詢maven依賴關(guān)系的相關(guān)資料,需要的朋友可以參考下2023-11-11Java入門(mén)基礎(chǔ)之Java的基本語(yǔ)法與Java所支持的數(shù)據(jù)類型
這篇文章主要介紹了Java入門(mén)基礎(chǔ)之Java的基本語(yǔ)法與Java所支持的數(shù)據(jù)類型,熟悉語(yǔ)法和數(shù)據(jù)類型通常是了解一種編程語(yǔ)言的開(kāi)始,需要的朋友可以參考下2016-02-02用Java程序判斷是否是閏年的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇用Java程序判斷是否是閏年的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Java編寫(xiě)網(wǎng)上超市購(gòu)物結(jié)算功能程序
這篇文章主要為大家詳細(xì)介紹了Java編寫(xiě)網(wǎng)上超市購(gòu)物結(jié)算功能程序的具體代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06