前言
專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站設(shè)計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)泉山免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
為了應對在SpringBoot中的高并發(fā)及優(yōu)化訪問速度,我們一般會把頁面上的數(shù)據(jù)查詢出來,然后放到redis中進行緩存。減少數(shù)據(jù)庫的壓力。
在SpringBoot中一般使用
thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx);
進行頁面的渲染,而這個ctx就是SpringWebContext對象,我們一般進行如下獲?。?/p>
SpringWebContext swc=new SpringWebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap(),applicationContext);
在SpringBoot 1.X的版本中以上代碼可以使用。但在SpringBoot 2.0中,就無法找到SpringWebContext了。那應該如何去解決這個問題呢?
解決思路
說一下我的思路,.process方法中ctx所在參數(shù)所需要的類型為接口IContext
也就是需要有實現(xiàn)了IContext的類就可以了,然后進入IContext接口找所有的實現(xiàn)類
然后看到WebContext似乎有些像上面所用的SpringWebContext。即做出如下改變,完美實現(xiàn)了thymeleaf的頁面渲染。
WebContext ctx = new WebContext(request, response, request.getServletContext(), request.getLocale(), model.asMap()); html = thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx);
在SpringBoot 2.0中使用上述代碼,可以完全替代。
(當然在下不才,暫時只找到了這種辦法,在網(wǎng)絡上也沒找到對應的比較不錯的策略。所以分享出來,以備分享出來,幫助遇到此問題的程序員們。如果大家有什么更好的處理辦法可以一起互相交流哦)
目前我正在搞基于SpringBoot、Redis、消息隊列的秒殺小項目,主要還是為了梳理如何解決高并發(fā)的問題過程。
GitHub:https://github.com/iquanzhan/SecKillShop (本地上傳)
所用技術(shù)
1.后端:SpringBoot、JSR303、MyBatis
2.前端:Thymeleaf、BootStrap、Jquery
3.中間件:RabbitMQ、Redis、Druid
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。