溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

發(fā)布時間:2020-10-15 11:38:18 來源:腳本之家 閱讀:217 作者:iquanzhan 欄目:編程語言

前言

為了應對在SpringBoot中的高并發(fā)及優(yōu)化訪問速度,我們一般會把頁面上的數據查詢出來,然后放到redis中進行緩存。減少數據庫的壓力。

在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所在參數所需要的類型為接口IContext

Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

也就是需要有實現了IContext的類就可以了,然后進入IContext接口找所有的實現類

Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

然后看到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、消息隊列的秒殺小項目,主要還是為了梳理如何解決高并發(fā)的問題過程。

GitHub:https://github.com/iquanzhan/SecKillShop (本地上傳)

所用技術

1.后端:SpringBoot、JSR303、MyBatis

2.前端:Thymeleaf、BootStrap、Jquery

3.中間件:RabbitMQ、Redis、Druid

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI