原创 Spring AOP原理之AnnotationAwareAspectJAutoProxyCreator增強目標類生成代理

目錄 1. 說明 2. 目標類創建過程 3. 目標類創建之前嘗試生成代理 4. 目標類被增強生成代理類 1. 說明 AnnotationAwareAspectJAutoProxyCreator作爲InstantiationAwareBea

原创 Spring自動裝配之方法、構造器位置的自動注入

  目錄 1. 註解定義 2. 註解使用 3. 注入位置推薦 1. 註解定義 @Autowired的定義信息如下: @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, Elemen

原创 Spring屬性賦值註解之@Value @PropertySource

目錄 1. 說明 2. 註解使用 3. 註解解析 1. 說明 當組件的屬性通過配置文件的方式賦值的時候,xml配置的方法如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h

原创 Spring自動裝配註解之@Profile

Spring自動裝配註解之@Profile

原创 Spring自動裝配註解之@Resource @Inject

目錄 1. 說明 2. 注入規則 3. 註解分析 1. 說明 @Resource和@Inject在Spring中也可以達到組件依賴注入的功能,但跟@Autowired不同,@Autowired是Spring提供的註解,而@Resource

原创 Spring自動裝配註解之@Autowired @Qualifier @Primary

目錄 1. 說明 2. 注入規則 3. 註解分析 1. 說明 Spring使用依賴注入,完成對IOC容器中各個組件的依賴注入,@Autowired就是Spring提供對其他組件注入的註解,@Autowired的定義如下: @Target

原创 Spring週期之BeanPostProcessor的應用

  Spring底層本身也在許多地方用到了BeanPostProcessor機制,在組件創建完並且屬性賦值完成,並且在執行初始化的前後對Bean的一些封裝等,BeanPostProcessor的繼承關係圖如下:   1. Applica

原创 Spring生命週期註解之@PostConstruct,@PreDestroy

目錄 1. 註解說明 2. 調用過程 3. 調用分析 1. 註解說明 @PostConstruct,@PreDestroy是Java規範JSR-250引入的註解,定義了對象的創建和銷燬工作,同一期規範中還有註解@Resource,Spri

原创 Spring生命週期註解之@Bean指定初始化和銷燬方法

  目錄 1. 註解說明 2.  調用時機 1. 註解說明 在xml配置中,可以使用如下方法指定初始化和銷燬方法 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w

原创 Spring生命週期-InitializingBean,DisposableBean

IOC容器的組件除通過聲明自定義初始化和銷燬方法外,可以實現InitializingBean接口和DisposableBean接口,在實現內中完成初始化和銷燬的邏輯; InitializingBean的接口定義如下: package o

原创 Spring生命週期之BeanPostProcessor

  BeanPostProcessor定義爲在創建組件時,執行組件的初始化方法(InitializingBean的實現類或者init-method指定的初始化方法)的前後做一些事情,可以是對組件的一些檢查,或者對組件進行包裝,或者創建組件

原创 Spring組件註冊-FactoryBean

目錄 1. 說明 2. 代碼演示 3. 原理分析 1. 說明 Spring IOC容器可以通過實現FactoryBean來創建組件並加載到容器中; public interface FactoryBean<T> { //具體的創建對

原创 Spring生命週期註解@Bean

Spring生命週期註解@Bean

原创 Spring組件註冊註解之@Conditional

1. 說明 IOC在容器初始化的時候,可以根據自定義條件來判斷是否需要加載組件; 2. 註解說明 @Conditional可以定義在類和方法上,value值是Condition接口Class文件數組;當定義在類上的時候,該配置類下的所有方

原创 Spring組件註冊註解之@Import

Spring組件註冊註解之@Import