原创 populateBean方法解析

populateBean 方法實現的功能 autowired 解析 Autowired 實例,code 如下: package com.gientech.populateBean.annotation; import org.spri

原创 通過Supplier創建對象示例

通過Supplier接口創建對象,具體code 如下: package com.gientech.supplier; public class Car { private String name; public Car

原创 AOP解析

AOP bean 準備 1 AOP sample 1.1 創建切面 package com.gientech.aop.xml.util; import org.aspectj.lang.JoinPoint; import org.aspe

原创 JDK proxy 和cglib 源碼解讀

Hello World 1 JDK Proxy 案例 創建接口 package com.gientech.proxy.jdk; public interface ICalculator { public Integer add(I

原创 三級緩存解析過程

Hello World

原创 對象Constructor構造函數解析詳解

構造函數解析 構造函數解析示例,code 如下。 定義實體類: package com.gientech.constructor; public class Person { private String name;

原创 自定義轉換器實現案例

Spring 中自定義轉換器實現案例 1 自定義轉換器 code 如下: package com.gientech.selfConvert; import org.springframework.core.convert.converte

原创 通過FactoryMethod創建對象示例

factory-bean: 指定使用哪個工程實例,實例工廠,非靜態方法創建bean factory-method:指定使用哪個工廠實例的方法。靜態工廠,靜態方法創建bean 判斷的依據是 創建bean的方法是否存在 static 修飾符。

原创 InstantiationAwareBeanPostProcessor 接口實現

BeanPostProcessor 結構圖 1 code 如下: package com.gientech.resolveBeforeInstantiation; public class BeforeInstantiation {

原创 10 lookup-method標籤使用

spring 中默認的對象都是單例的,spring會在一級緩存中持有該對象,方便下次直接獲取,如果對象作用域是原型作用域,則會創建一個新的對象。 問題:如果需要在一個單例模式的bean下引用一個原型模式的bean,需要怎麼做呢? 此時需要引

原创 11 replace-method標籤使用

Hello World

原创 springboot源碼解析(四):監聽器

監聽器在spring中應用很多,觀察者模式和spring 中的觀察者模式結構對比圖如下 1 觀察者模式結構對比圖如下: 以springboot的源碼爲例, 2 邏輯執行過程 1 事件源來發布不同的事件 2 當發佈事件之後會調用多播器的方

原创 FactoryBean接口的使用

一般情況下,Spring通過反射機制利用bean的class屬性指定實現類來實例化bean。在某些情況下,實例化bean過程比較複雜,如果按照傳統的方式,則需要在標籤中提供大量的配置信息,配置方式的靈活性是受限的。爲此,spring可以通過

原创 [LeetCode] Rotate Array

Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is r

原创 1 Spring5 自定義標籤開發

spring5 自定義腳本開發步驟 1 定義bean, public class User { private String id; private String userName; private S