【逆流而上】[Spring]IOC、AOP知識要點

IOC:

IOC 的思想: Spring 容器來實現這些相互依賴的對象的建立、協調工做。對象只須要關心業務邏輯自己。
IOC 容器的執行步驟:app

  • 資源定位,找到applicationContext.xml
  • 將XML文件中的數據統一加載到BeanDefinition中,方便後續處理
  • 經過registerBeanDefinition方法向IOC容器注入BeanDefinition數據
registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
  • BeanDefinition中的數據進行依賴注入 (經過反射機制實現的,在實例化一個類時,它經過反

射調用類中setProperty方法將事先保存在HashMap中的類屬性注入到類中)
Spring經過反射來進行注入。Spring將咱們配置的信息保存在一個 HashMap中,HashMap 的 key 就是 Bean 的 id, value 就是 Bean 自己。spa


AOP:

AOP 的配置
image.png
Spring AOP 的核心- ProxyFactoryBean
image.png
image.png3d

1.基於JDK面向接口的動態代理 JdkDynamicAopProxy 生成代理對象。

JdkDynamicAopProxy 類實現了 AopProxy,可以返回 Proxy,而且,其自身也實現了 InvocationHandler角色。也就是說,當咱們使用 proxy 時,咱們對 proxy 對象調用的方法,都最終被轉到這個類的 invoke()方法中。
image.png代理

2.基於 Cglib 子類繼承方式的動態代理 CglibAopProxy 生成代理對象

image.png
(有關動態代理的知識點將在以後細說)code

相關文章
相關標籤/搜索