SpringMVC中一個超好用的引數快取框架
阿新 • • 發佈:2019-01-05
在上篇部落格(http://blog.csdn.net/cml_blog/article/details/78928693)已經分析了頁面引數儲存的方法以及各種方法。但是是基於AOP的實現方式,既然使用SpringMVC,那麼就應該使用框架提供的介面進行使用。現在將SpringMVC的實現方式抽取出來,封裝成一個支援自定義拓展的引數快取框架。已經提交到了maven倉庫。
下面對框架進行簡單的介紹:
使用場景
- 需要在跳轉其他頁面後,返回當前頁面還需要引數保持的情況
- 新增資料需要跳轉到預覽或確認頁面的情況
- 需要快取引數的情況
- 支援的請求方式
GET,POST中支援:application/json,application/x-www-form-urlencoded(表單提交)
如何使用?
- 新增依賴:
<dependency>
<groupId>com.github.cmlbeliever</groupId>
<artifactId>cacheable-search-mvc</artifactId>
<version>:lastVersion</version>
</dependency>
- 在Controller中添加註解:@SearchCache
@RequestMapping("/list" )
public String userList(Model model, @SearchCache() User u) {
return "user-list";
}
獲取cacheToken
可以從HttpServletRequest中直接獲取到cacheToken,如:
request.getAttribute(“cacheToken”)- 支援的配置
//自定義快取實現類的配置
search-cache.cacheImplRef=
//自定義key生成策略的配置
search-cache.keyGeneratorRef=
//引數key定義,預設為cacheToken
search-cache.cacheToken=myToken
//自定義引數解析,支援CacheableArgumentResolver和HandlerMethodArgumentResolver兩種型別
search-cache.argumentResolvers=
- 注意:application/json 請求方式時,cacheToken需要放到header中傳入,其他請求方式可以直接在引數中傳入cacheToken