1. 程式人生 > >SpringMVC中一個超好用的引數快取框架

SpringMVC中一個超好用的引數快取框架

在上篇部落格(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