原创 SpringBoot中統一API返回格式的兩種方式

微服務中,由於各業務團隊之間的對接,各個團隊之間需要統一返回格式,這樣解析時不容易出現錯誤。因此,有必要統一返回格式。下面我說下項目中常見的兩種統一和變更返回值格式的方式 ResponseBodyAdvice切面方式 這種方式簡單易實現,僅

原创 Excel文件加密的兩種方式

我們經常會遇到導出的數據需要安全和需要脫敏的場景,這種場景下如何做呢,這裏我們使用EasyExcel來實現,有以下兩種方案 使用EasyExcel配合Zip4j將文件加密爲zip Zip4j的壓縮選項更多 //生成密碼壓縮文件

原创 ThreadLocal與線程池共用時可能出現的的兩個問題

直接先線程池中獲取主線程或非線程池中的ThreadLocal設置的變量的值 例如 private static final ThreadPoolExecutor syncAccessPool = new ThreadPoolExec

原创 Docker內Redis集羣環境配置

Redis集羣環境配置 首先要創建docker內的網絡環境 docker network create redis --subnet 172.28.0.0/16 配置文件的第一種聲明方式內網運行,這種方式在虛擬機外電腦上會出現Can't

原创 Spring Cloud Stream使用

Spring Cloud Stream對Spring Cloud體系中的Mq進⾏了很好的上層抽象,可以讓我們與具體消息中間件解耦合,屏蔽掉了底層具體MQ消息中間件的細節差異,就像Hibernate屏蔽掉了具體數據庫(Mysql/Oracle

原创 Feign使用分析

feign使用 在實現的效果上來說Feign = RestTemplate+Ribbon+Hystrix Feign實現RestTemplate+Ribbon效果 Feign實現RestTemplate+Ribbon效果,只需要以下幾步 在

原创 Hystrix使用分析

Hystrix使用 使用Hystrix實現熔斷 要實現熔斷,首先需要在請求調用方pom文件中加入 <dependency> <groupId>org.springframework.cloud</gr

原创 Eureka功能和可用性解讀

元數據 除了普通的基礎設置之外,eureka支持自定義元數據。配置方式如下 eureka: instance: metadata-map: cluster: cl1 name: zhaozhen 獲取

原创 Zookeeper客戶端zkClient和curator的操作

zkClient操作 基本增刪改查代碼如下 public class createSession { public static void main(String[] args) { ZkClient zkClien

原创 Zookeeper的原生api操作

pom文件引入 <dependencies> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</a

原创 ElasticJob簡單使用

ElasticJob單點使用 任務類 public class BackupJob implements SimpleJob { public void execute(ShardingContext shardingContext

原创 分佈式hash相關內容

Hash算法相關內容 ⾸先有⼀條直線,直線開頭和結尾分別定爲爲1和2的32次⽅減1,這相當於⼀個地址,對於這樣⼀條 線,彎過來構成⼀個圓環形成閉環,這樣的⼀個圓環稱爲hash環。我們把服務器的ip或者主機名求 hash值然後對應到hash環

原创 簡單實現springmvc中的請求處理

自定義MVC框架中的一些元素 一些註解 @Documented @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface Contro

原创 Spring中如何在非Spring管理的Bean中獲取到Spring管理的Bean並操作

最近在開發過程中遇到了一個問題,就是和安卓端需要藉助socket進行通信,但是此時的socket並不是spring websocket,且此時socket需要在線程中執行,無法被Spring管理,於是找到了另外一種用法 @Component

原创 ShardingShpere的sharding-jdbc效果測試

sharding-jdbc在目前微服務和各種saas軟件等數據量日益加大的情況下變得使用的人多了起來。 sharding-jdbc讀寫分離測試 數據庫實體 @Data @Table(name = "city") @Entity public