原创 SpringBoot整合Caffeine本地緩存

一、Caffeine性能 二、Caffeine配置 注意: 1、weakValues 和 softValues 不可以同時使用。 2、maximumSize 和 maximumWeight 不可以同時使用。 3、expireAfter

原创 Linux服務器Crontab定時任務配置

1、檢查linux系統是否有crontab rpm -qa | grep crontab 2、如果未安裝進行安裝 yum -y install vixie-cron yum -y install crontabs 3、crontab

原创 Js存儲數據到LocalStorage並設置過期時間

setLocal = function (key, val) { var prefix = "project_list_"; key = prefix + key; var expires

原创 docker中的mysql時區修改

永久修改 進入容器 docker exec -it mysql5.7 bash 查看當前時區 date -R 修改時區 cp /usr/share/zoneinfo/PRC /etc/localtime # 或者 ln -s

原创 [Java] 解析Xml配置文件

1、解析方法 import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Doc

原创 SpringSecurity-前後端分離教程

1、簡介 Spring Security 是 Spring 家族中的一個安全管理框架。相比與另外一個安全框架Shiro,它提供了更豐富的功能,社區資源也比Shiro豐富。 一般來說中大型的項目都是使用SpringSecurity 來做安

原创 分佈式事務保姆級教程

⼀、本地事務 1、ACID特性 原⼦性(A) ⼀致性(C) 隔離性(I) 持久性(D) 2、事務的隔離級別 兩個或多個事務併發操作相同的數據的時候事務之間的相互訪問關係 查詢當前隔離級別:select @@tx_isolatio

原创 SpringCloud-Config配置中心搭建保姆級教程

一、分佈式配置中⼼ 在使⽤微服務架構開發的項⽬中,每個服務都有⾃⼰的配置⽂件(application.yml),如果將每個服務的配置⽂件直接寫在對應的服務中,存在以下問題: 1. 服務開發完成之後,需要打包部署,配置⽂件也會打包在jar⽂

原创 RabbitMQ保姆級教程最佳實踐

一、消息隊列介紹 1、消息隊列概念 1、MQ全稱爲Message Queue,消息隊列(MQ)是⼀種應⽤程序對應⽤程序的通信⽅法。 應⽤程序通過讀寫出⼊隊列的消息(針對應⽤程序的數據)來通信,⽽⽆需專⽤連接來 鏈接它們。 2、消息傳遞指

原创 SpringCloud-ZipKin搭建保姆級教程

服務鏈路追蹤 一、服務追蹤說明 微服務架構是通過業務來劃分服務的,使⽤REST調⽤。對外暴露的⼀個接⼝,可能需要 很多個服務協同才能完成這個接⼝功能,如果鏈路上任何⼀個服務出現問題或者⽹絡超 時,都會形成導致接⼝調⽤失敗。 隨着業

原创 SpringCloud-Gateway搭建保姆級教程

一、網關介紹 1、什麼是網關? 使⽤服務⽹關作爲接⼝服務的統⼀代理,前端通過⽹關完成服務的統⼀調⽤ 2、⽹關可以⼲什麼? 路由:接⼝服務的統⼀代理,實現前端對接⼝服務的統⼀訪問 過濾:對⽤戶請求進⾏攔截、過濾(⽤戶鑑權)、監控

原创 SpringCloud搭建保姆級教程

一、搭建服務註冊與發現中⼼ 使⽤Spring Cloud Netflix 中的 Eureka 搭建服務註冊與發現中⼼ 1、創建SpringBoot應用添加依賴 1、spring web 2、eureka server 2、配置服務註

原创 [EasyExcel] 導出合併單元格

前言 使用spring boot 對excel 進行操作在平時項目中要經常使用。常見通過jxl和poi 的方式進行操作。但他們都存在一個嚴重的問題就是非常的耗內存。這裏介紹一種 Easy Excel 工具來對excel進行操作。 一、E

原创 基於SpringBoot應⽤的logback⽇志配置

SpringBoot默認整合了logback-classic⽇志框架,我們需要對logback⽇志框架進⾏配置 以⾃定義⽇志輸出格式、⽇志⽂件配置、⽇志⽂件保存策略等信息 <?xml version="1.0" encoding="UTF

原创 時間工具類-Java

1、根據傳入時間獲取該時間所在季度的第一天 /** * 根據傳入時間獲取傳入日期所在季度的第一天的日期 * * @param startDate * @return */ publ