IOC(概念和原理)
1.什么是IOC
2、IOC底层原理
(1)xml解析、工厂模式、反射
3、IOC底层原理实现流程图
4、IOC过程![](https://i-blog.csdnimg.cn/blog_migrate/704f9c404f6bfb8ae9f0d0315adf8bc3.png)
第一步 XML配置文件,配置创建的对象
<!--配置User对象创建-->
<bean id="user" class="com.lds.springdemo.User"></bean>
第二步 有service类和dao类,xml解析、创建工厂
Class UserFactory{
public static UserDao getDao () {
//1、xml解析,也就是解析那个配置好的applicationContext.xml文件拿到类的全路径
String classValue = class属性值;
//2、通过反射创建对象
Class clazz=Class.forName(classValue);
return (UserDao)clazz.newInstance();
}
}
IOC接口(BeanFactory)
1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2、Spring提供IOC容器实现的两种方式:
(1)、BeanFactory:IOC容器基本实现,是Spring内部实现的一个接口,不提供给(不建议)开放人员进行使用
(2)、ApplicationContext:BeanFactory接口的子接口。提供了更多更强大的功能,一般是面向开放人员进行使用的。
区别:都能实现加载spring配置文件,然后通过工厂这种过程创建对象,即功能相似。
但是BeanFactory加载配置文件的时候不会去创建对象,在获取对象(使用)才去创建这个对象,而ApplicationContext加载配置文件的时候会把配置文件中对象进行创建。 一般选择ApplicationContext进行使用,因为一般是服务器去加载这些文件。
(3)、ApplicationContext接口有实现类
使用FileSystemXmlApplicationContext()的话要把xml盘符的路径写进去
ClassPathXmlApplicationContext就是src下的路径
绿色的表示对应的一些接口 蓝色表示对应的实现类