一、Spring架構概述
Spring是一個輕量級的(引用的jar包少而且小)開源的JavaEE架構;目的解決企業應用的複雜性;
其有兩個核心部分:IOC(控制反轉 )和AOP(面向切面)
特點:1.友善解耦簡化開發;2.支援AOP;3.友善程式測試;4.友善和其他架構內建;5.友善進行事務操作;6.降低API的開發難度。
二、IOC容器
1.IOC 底層原理
(1)什麼是IOC?控制反轉 :把對象建立和對象之間調用的過程交給spring管理;使用IOC的目的就是為了降低耦合度。
(2)底層原理:XML解析、工廠模式、反射

2.IOC 接口--BesnFactory
(1)IOC思想基于IOC容器完成,IOC容器底層就是對象工廠
(2)Spring提供IOC容器的兩種實作方式:
①BeanFactory:IOC容器的基本實作,是Spring内部的使用接口,不提供給開發人員使用;
特點:加載配置檔案的時候不會建立對象,隻有在擷取對象的時候才會建立對象
②ApplicationContext:是BBeanFactory的子接口,提供更多更強大的功能,提供開發人員使用;
特點:加載配置檔案的時候就會建立對象
③ApplicationContext的實作類:FileSystemXmlApplicationContext:盤符下配置檔案的全路徑
ClassPathXmlApplicationContext:項目src下配置檔案的名稱(内路徑)