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接口有实现类