1. 程式人生 > >Quella_v1.4 版本釋出,Java 開源後臺管理框架

Quella_v1.4 版本釋出,Java 開源後臺管理框架

  

本次更新:

      #主要是對系統性能和安全做優化

  • 使用Redis作為mybatis的二級快取

  • 使用SpringAOP和自定義註解完成Redis快取

  • XSS攻擊安全過濾

  • 定時任務視覺化控制

  • 富文字可直接嵌入表單

  • 增加系統全域性設定頁面

  • 修復一些BUG

啟用mybatis二級快取

開啟mybatis二級快取有兩種。

1)直接在mapper介面上加上:@CacheNamespace(implementation = com.ssrs.core.cache.RedisMybatisCache.class )

/**
 * <p>
 *  Mapper 介面
 * </p>
 *
 * @author ssrs
 * @since 2018-11-18
 */
@CacheNamespace(implementation = com.ssrs.core.cache.RedisMybatisCache.class )
public interface ArticleMapper extends BaseMapper<Article> {
}

2) 在xml檔案上 加上

 <cache type="com.ssrs.core.cache.RedisMybatisCache"/>

啟用註解快取

在考慮到mybatis的二級快取會帶來髒讀問題,所以使用SpringAOP+自定註解來實現快取,完美解決mybatis的二級快取髒讀問題

@RedisCache:新增快取

使用方式:@RedisCache(fieldKey = "getArticlePageByPage#{ #page }") //fidldKey使用了SPEL解析 /**

* 分頁資料
     * @param page
     * @param limit
     * @param title
     * @param type
     * @return
     */
    @RequestMapping(value = "getPageInfo" ,method = RequestMethod.POST)
    @ResponseBody
    //單page=1時fieldKey="getArticlePageByPage1",為每頁都快取起來,當發現快取有這個資料的時候直接放回資料就不會在執行方法裡面的語句了,沒有就執行
    @RedisCache(fieldKey = "getArticlePageByPage#{ #page }")
    public Object getPageInfo(Integer page,Integer limit,String title,String type){......}


   @RedisEvict:清除快取

使用方式:@RedisEvict(fieldKey = "getArticlePageByPage*") //*代表萬用字元

 @RequestMapping(value = "update" ,method = RequestMethod.POST)
 @ResponseBody
 //當執行增刪改方法時就加上這個註解,就會清除fieldKey="getArticlePageByPage1",fieldKey="getArticlePageByPage2"等等快取資料
 @RedisEvict(fieldKey = "getArticlePageByPage*")
 public Object update(Article article){....}

簡介:

Quella是基於SSM+shiro+redis開發的後臺腳手架,集成了一些後臺通用功能,並集成了一些常用的第三方服務。 http://www.ssrsdev.top/    賬號:[email protected]  密碼:admin

Quella的設計是 面向分散式叢集部署 的,在框架的選擇上和程式碼的層面都是可以以分散式叢集的前提條件下進行選擇與設計的。

"Quella"中譯英為"殺手"的意思,亦有&ldquo;殺人紅塵中,脫身白刃裡的感覺&rdquo;,正符合這個專案的意境----為一個好的專案名而興奮的boy :)