1、 核心容器
BeanFactoryo:基礎類型的IoC容器,管理Bean的工廠,負責初始化各種Bean,并調用它們的生命周期方法。
ApplicationContext:是BeanFactoryo的子接口,也被成為應用上下文,是另一種常用的Spring核心容器。
2、 IoC
控制反轉:對象的執行個體不再由調用者來建立,而是由Spring容器來建立,Spring容器會負責控制程式之間的關系,而不是由調用者的程式代碼直接控制。這樣,控制權由應用代碼轉移到了Spring容器,控制權發生了反轉,這就是Spring的控制反轉。
3、 Spring中的Bean
(1)Bean的執行個體化
構造器執行個體化(最常用)、靜态工廠方法執行個體化、執行個體工廠方法執行個體化
(2)Bean的作用域
singleton(預設單例)、prototype(原型)、request、session、globalSession、application、websocket
(3)Bean的生命周期
(4)Bean的裝配方式(省略XML)
基于Annotation的裝配:
@Componmet:使用時标注在相應的類上
@Repository:用于将DAO層的類辨別為Spring中的Bean
@Service:用于業務層
@Controlller:用于控制層
@Autowired:用于标注屬性變量
@Resource:和@Autowired一樣
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLzsGVPp3ZU1EeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLyQDN1QDOyETM0IzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
4、 AOP
AOP:切面,面向切面程式設計。它是面向對象程式設計(OOP)的一種補充,目前已經成為一種比較成熟的程式設計方式。常用于對事物、日志、權限、異常的處理。目前比較流行的AOP架構有兩個,分别為SpringAOP和AspectJ。
AspectJ:AspectJ是一個基于Java語言的AOP架構。Spring aop有兩種實作方式:一種是spring aop,另一種是aspectj。這兩種實作方式的主要差別在于:spring aop采用的是動态織入(運作期期植入),而aspectJ是靜态織入(編譯期植入)。