原创 Redis緩存雪崩、穿透、擊穿

概念 緩存雪崩 大量的緩存在同一時間失效,導致大量請求直接落到數據庫上 解決方案: 緩存過期時間添加一個隨機值 緩存穿透 大量請求,查詢數據庫不存在的數據,導致數據庫壓力過大,數據庫被擊垮。 解決方案: 布隆過濾器

原创 URL、URI、ServletPath、ContextPath示例

獲取各種請求地址代碼: String contextPath = request.getContextPath(); String servletPath = request.getServletPath(); String pa

原创 @compent使Filter的urlPatterns失效

在springboot應用中自定義Filter時,在Filter上添加@compent註解會使urlPatterns匹配路徑變爲/*而不是自定義路徑 @Slf4j //@Component urlPatterns失效 @WebFi

原创 使用jasypt加密springboot配置中的敏感數據

一、操作流程 在springboot項目中引入jasypt的staters <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactI

原创 關於Session共享

session共享原理 使用第三方存儲介質存儲HttpSession。不論應用是否在多臺服務器上部署,Session的讀取和寫入均通過第三方介質完成。其原理與分佈式鎖的實現類似,分佈式鎖也是將鎖交由第三方管理,從而保證同一時間內鎖

原创 Spring Session中session的事件監聽

前提 Redis版本>2.8 開啓事件通知配置(默認spring session會自動開啓該配置) 配置文件:notify-keyspace-events Ex 命令行:redis-cli config set notif

原创 ssm項目 mybatis分段查詢配置延遲加載 springmvc返回json數據報錯

錯誤信息: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.apache.ibatis.e

原创 ssm整合Mybatis之批量操作

applicationContext-dao.xml中聲明一個可執行批量操作的sqlSession 通過構造函數注入方式:將SqlSessionTemplate交予Spring進行管理,方便後面service層中引用 注意:SqlSess

原创 spring定時任務

spring自帶task簡單使用示例:原文地址 解決Task併發問題:原文地址 Quartz定時任務及Task:原文地址 Cron表達式生成:傳送門 @Scheduled註解參數詳解:傳送門    

原创 邏輯分頁之PageBean

PageBean: 基本需求:具有前臺頁面分頁所需的所有參數內容 特點:具有邏輯分頁功能 原理:利用List的subList實現對當前頁數據的截取 具體代碼如下: package com.java.utils; import java

原创 spring data jpa方法命名規範

關鍵字 示例 jpa對應sql And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 Or findByLastnameOrFirstnam

原创 git常用命令

全局用戶信息配置: $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]" 注意:git conf

原创 java8函數式接口

  目錄 函數式接口:Functional Interface 定義: JDK 1.8之前已有的函數式接口: JDK 1.8 新增加的函數接口: 常用函數式接口:  常用函數式接口示例: 自定義函數式接口: 定義自定義函數式接口: Use

原创 Spring Boot整合Mybatis通用Mapper插件

項目配置:    springboot: 2.02    mysql:8.0.11    maven:3.5.3數據源配置:引入依賴:pom.xml        mysql、druid連接池<!--mysql--> <dependenc

原创 java8之StreamAPI

Stream(流): 什麼是stream(流):Stream是一個來自數據源的元素隊列並支持聚合操作   元素:是特定類型的對象,形成一個隊列。 Java中的Stream並不會存儲元素,而是按需計算   數據源:流的來源。可以是