SpringBoot 2.0中SpringWebContext 找不到無法使用的問題解決

做全棧攻城獅1發表於2019-02-22

為了應對在SpringBoot中的高併發及優化訪問速度,我們一般會把頁面上的資料查詢出來,然後放到redis中進行快取。減少資料庫的壓力。

SpringBoot中一般使用

thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx);

進行頁面的渲染,而這個ctx就是SpringWebContext物件,我們一般進行如下獲取:

SpringWebContext swc=new SpringWebContext(request,response,request.getServletContext(),request.getLocale(),model.asMap(),applicationContext);

在SpringBoot 1.X的版本中以上程式碼可以使用。但在SpringBoot 2.0中,就無法找到SpringWebContext了。那應該如何去解決這個問題呢?

說一下我的思路,.process方法中ctx所在引數所需要的型別為介面IContext

image

也就是需要有實現了IContext的類就可以了,然後進入IContext介面找所有的實現類

image

然後看到WebContext似乎有些像上面所用的SpringWebContext。即做出如下改變,完美實現了thymeleaf的頁面渲染。

WebContext ctx = new WebContext(request, response, request.getServletContext(), request.getLocale(), model.asMap()); html = thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx);

在SpringBoot 2.0中使用上述程式碼,可以完全替代。

(當然在下不才,暫時只找到了這種辦法,在網路上也沒找到對應的比較不錯的策略。所以分享出來,以備分享出來,幫助遇到此問題的程式設計師們。如果大家有什麼更好的處理辦法可以一起互相交流哦)

目前我正在搞基於SpringBoot、Redis、訊息佇列的秒殺小專案,主要還是為了梳理如何解決高併發的問題過程。

GitHub:github.com/iquanzhan/S…

歡迎點選Start哦

所用技術

1.後端:SpringBoot、JSR303、MyBatis

2.前端:Thymeleaf、BootStrap、Jquery

3.中介軟體:RabbitMQ、Redis、Druid

相關文章