SpringBoot2(15)踩坑之Sping5中SpringWebContext方法过时

SpringWebContext方法过时

今天在做项目的时候,为了优化访问速度,应对高并发,想把页面信息全部获取出来存到redis缓存中,这样每次访问就不用客户端进行渲染了,速度能快不少。

想用thymeleafViewResolver.getTemplateEngine().process("goodslist.html",ctx);函数实现,里面有一个ctx参数,这个参数就是WebContext

然后定义这个变量 SpringWebContext ctx = new SpringWebContext(......)

哎,这个方法在SpringBoot1.X的时候还能有,在org.thymeleaf.spring4.context这个package下,在、SpringBoot2.X +thymeleaf3.0.9 中没有,想去找一下用什么来代替,直接去org.thymeleaf.spring4下面去找,没找到相同类型的,然后取找thymeleaf.spring5的API,还找不到,只能找到thymeleaf.spring4的API,。想想还要用,怎么办啊,总不能把版本切换了吧,那有些别的说不定也得改,自己写吧,自力更生艰苦奋斗。

找了之前的一个项目,然后找到了那里面的SpringWebContext是怎么写的,超过来就完了,

但是不行SpringWebContext继承的是org.thymeleaf.context下的WebContext方法,在SpringBoot2.0+thymeleaf3.0.9中定义成final类型的,不能继承,想想要不把库的代码改了,还是算了,再往上找,找到这个WebContext extends AbstractContext implements IWebContext,没有final,所以一层一层的找到之后,按照他的源码改了一下,自己重写了SpringWebContext方法,如下

package com.springboot.SecKill.util;

import org.springframework.context.ApplicationContext;
import org.thymeleaf.context.AbstractContext;
import org.thymeleaf.context.IWebContext;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Locale;
import java.util.Map;
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author WilsonSong
 * @date 2018/8/5
 */
public class 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值