1. 程式人生 > >對Spring的理解

對Spring的理解

spring的核心:

  1. Bean管理,
  2. 依賴注入,也稱控制反轉(IOC),
  3. 面向切面程式設計(AOP)。

1:Bean管理

與傳統的應用程式不同,在Spring中將物件的建立交給Spring容器來管理,也就是說只有放入Spring容器中的類,Spring才能對其產生作用。ApplicationContext的實現類通過getBean()方法從Spring容器中獲取物件,預設為單例的。

Tips:ApplicationContext常用的四個實現類

  • ClassPathXmlApplicationContext 從 classpath 載入 spring 的配置檔案
  • FileSystemApplicationContext 從系統檔案載入 spring 的配置檔案
  • AnnotationConfigApplicationContext 獲取基於註解的 spring 容器物件
  • XmlWebApplicationContext 在 web 環境中獲取 spring 容器物件

2:控制反轉(IOC)

在傳統程式中,當某個角色需要另外一個角色協助時,由呼叫者來建立被呼叫者的例項。而在Spring中,建立被呼叫者的的工作不再由呼叫者來完成,而由第三方Spring容器來完成,所以稱為控制反轉,Spring容器建立被呼叫者的例項,然後注入呼叫者,所以又稱為依賴注入。

set注入:在配置檔案中<bean>下使用<property id="xxName" ref="xxBean">節點

構造注入:在配置檔案中<bean>下使用<constructor-arg id="xxName" ref="xxBean">節點

3:面向切面程式設計(AOP)

面向切面程式設計基於動態代理實現,降低了類之間的耦合程度。Spring的事務管理就是基於AOP實現的。

aop詳解:https://blog.csdn.net/moreevan/article/details/11977115

note:AOP應用場景之日誌管理,可參考我的部落格

《SpringBoot學習篇》(5)AOP+自定義註解實現日誌管理

 

參考:https://www.jianshu.com/p/ba7dabe61bbe