原创 ngixn 轉發到 zull網關 404

  curl 接口 正常 ,走nginx 404    當時原因是 端口後面要加 / !!!!!!   簡單記錄。 後面發現獲取uri的時候會是兩個/  在/api 後面加個/ 就行

原创 【聚合支付平臺】如何智用【模板+工廠】設計模式來實現異步回調

異步回調流程 解析報文(驗證簽名) 日誌收集(相同) 如果解析報文成功的話,修改支付狀態爲已經成功.返回不同的支付結果 模版方法設計模式 提前定義好整體的骨架,不同的行爲讓子類實現,相同的行爲直接定義在抽象類中複用。 相同的行爲就定

原创 Spring5.0源碼深度解析之SpringBean的生命週期

SpringBean的生命週期 一:單例與多例對象是如何初始化 單例默認情況下是在容器被加載的時候就會初始化 多例是在每次獲取Bean對象的時候初始化 代碼驗證: @Component public class UserEntity

原创 ”萬丈高樓平地起“——如何從“建築師”角度打造【裝飾者設計模式】

什麼是裝飾者模式 在不改變原有對象的基礎上附加功能,相比生成子類更靈活。 裝飾者模式應用場景 過濾器,網關控制,P2P分控審批 裝飾者模式類圖 裝飾者模式定義 (1)抽象組件:定義一個抽象接口,來規範準備附加功能的類 (2)具

原创 Mybatis深入源碼分析之Mapper與接口綁定原理源碼分析

本章疑問: // 5.操作Mapper接口 UserMapper mapper = sqlSession.getMapper(UserMapper.class); public interface UserMapper { p

原创 Spring5.0源碼深度解析之SpringBean的Aop源碼分析

SpringAop源碼分析:需要關聯SpringBean的生命週期 思考: 1.什麼時候創建代理類對象 2.SpringAop中如何綜合運用CGLIB和JDK動態代理 @EnableAspectJAutoProxy:開啓AOP的權限

原创 Spring5.0源碼深度解析之Spring基於註解啓動流程分析

主要內容: 一、IOC容器的初始化流 創建IOC容器 註冊配置類 BeanFactory後置處理器 Bean的後置處理器 創建Bean對象 IOC容器的初始化流程 從: ApplicationContext ap

原创 Spring5.0源碼深度解析之SpringBean聲明事務底層實現原理

Spring事務 Spring聲明式事務讓我們從複雜的事務處理中得到解脫,使我們再也不用去處理這些步驟:獲得連接、關閉連接、事務提交和回滾操作。再也不需要在事務相關方法中處理大量的try..catch..finally代碼。 Sprin

原创 Spring5.0源碼深度解析之理解Configuration註解

主要內容: 一、IOC容器的初始化流 創建IOC容器 註冊配置類 BeanFactory後置處理器 Bean的後置處理器 創建Bean對象 IOC容器的初始化流程 從: ApplicationContext ap

原创 Spring5.0源碼深度解析之SpringBean循環依賴問題解決方案

Spring循環依賴 什麼是Spring的循環依賴?循環依賴會存在哪些問題? 示例:AService依賴BService; BService依賴AService @Service public class AService {

原创 Mybatis深入源碼分析之SQLSession一級緩存原理分析

本篇文章,我們繼續分析:SQLSession一級緩存原理。 一:invoke()方法源碼分析 首先,當我們調用getMapper的時候,就會進入invoke()方法: // 5.操作Mapper接口 UserMapper mapper

原创 深入Proxy底層源碼——實現自己的JDK動態代理

JDK動態代理原理分析 在使用jdk動態代理的時候,必須要實現InvocationHandler接口;invoke方法中該三個參數分別表示爲: 代理對象、被代理執行的方法、參數 public class JdkInvocationHa

原创 Mybatis深入源碼分析之SqlSessionFactory二級緩存原理分析

這裏再概括下上篇源碼分析內容: 一:Mybatis一級緩存 mybatis的一級緩存是SqlSession緩存,在操作數據庫的時候需要先創建SQL會話對象,在對象中有個HashMap用於存儲緩存數據,此HashMap是當前對象私有的,其它

原创 【奇思妙想】如何給網關設計一款專屬的權限控制【責任鏈設計模式】

什麼是責任鏈模式 客戶端發出一個請求,鏈上的對象都有機會來處理這一請求,而客戶端不需要知道誰是具體的處理對象。這樣就實現了請求者和接受者之間的解耦,並且在客戶端可以實現動態的組合職責鏈。使編程更有靈活性。 關鍵點 1、有多個對象共同對一

原创 深度Mybatis源碼分析——SqlSessionFactoryBuilder(建造者模式),Mapper接口綁定原理(代理模式)

一:源碼分析流程圖 二:源碼分析開始 public class TestMyBatis { public static void main(String[] args) { try {