服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Spring Boot2.0中SpringWebContext找不到无法使用的解决方法

Spring Boot2.0中SpringWebContext找不到无法使用的解决方法

2021-06-18 14:12iquanzhan Java教程

这篇文章主要给大家介绍了关于Spring Boot2.0中SpringWebContext找不到无法使用的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧

前言

为了应对在springboot中的高并发及优化访问速度,我们一般会把页面上的数据查询出来,然后放到redis中进行缓存。减少数据库的压力。

在springboot中一般使用

?
1
thymeleafviewresolver.gettemplateengine().process("goodlist", ctx);

进行页面的渲染,而这个ctx就是springwebcontext对象,我们一般进行如下获取:

?
1
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的页面渲染。

?
1
2
webcontext ctx = new webcontext(request, response, request.getservletcontext(), request.getlocale(), model.asmap());
html = thymeleafviewresolver.gettemplateengine().process("goodlist", ctx);

在springboot 2.0中使用上述代码,可以完全替代。

(当然在下不才,暂时只找到了这种办法,在网络上也没找到对应的比较不错的策略。所以分享出来,以备分享出来,帮助遇到此问题的程序员们。如果大家有什么更好的处理办法可以一起互相交流哦)

目前我正在搞基于springboot、redis、消息队列的秒杀小项目,主要还是为了梳理如何解决高并发的问题过程。

github:https://github.com/iquanzhan/seckillshop 

所用技术

1.后端:springboot、jsr303、mybatis

2.前端:thymeleaf、bootstrap、jquery

3.中间件:rabbitmq、redis、druid

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://juejin.im/post/5c039b2ef265da61682b1e9e

延伸 · 阅读

精彩推荐