1. IOC概念與底層原理
-
什么是IOC
- 控制反轉,把對象創建和對象之間的調用過程,交給Spring管理
- 使用IOC目的:為了耦合度降低
-
IOC底層原理
-
xml解析、工廠模式、反射
-
// 第一步 xml配置文件,配置創建的對象 <bean id="dao" class="com.zyy.UserDao"></bean> // 第二步 有service類和dao類,創建工廠類 class UserFactory { public static UserDao getDao { String classValue = class屬性值; // xml解析 Class clazz = Class.forName(classValue); // 通過反射創建對象 return (UserDao)clazz.newInstance(); } }
-
2. IOC接口(BeanFactory)
-
IOC思想基於IOC容器完成,IOC容器底層就是對象工廠
-
Spring提供IOC容器實現兩種方式:(兩個接口)
- BeanFactory:IOC容器基本實現,是Spring內部的使用接口,不提供開發人員進行使用
- ApplicationContext:BeanFactory接口的子接口,提供更多更強大的功能,一般由開發人員使用
- 不同點:BeanFactory在加載文件時不會創建對象,在獲取對象(使用)才去創建對象。而ApplicationContext在加載時就把配置文件對象進行創建。一般來說,用ApplicationContext更好,在程序剛啟動時,就把耗時的資源先加載完成,更節約時間
-
ApplicationContext接口有實現類