IOC过程:进一步降低耦合度
第一步
xml配置文件,配置创建对象
<bean id = "ID" class="包路径"></bean>
第二步
有service类和dao类,创建工厂类
class UserFactory{
public static UserDao getDao(){
String classValue = class属性值;//1.xml解析
Class clazz = class.forName(classValue);//2.通过反射创建对象
return (UserDao)clazz.newInstance();
}
}
IOC(接口)
1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂.
2、Spring提供IOC容器两种实现方式:(两个接口)
(1)BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用。
*加载配置文件时候不会创建对象,在获取(使用)对象才会创建对象。
(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用。
*加载配置文件时候就会把在配置文件对象进行创建操作。
3、ApplicationContext接口有实现类:
FlieSystemXmlApplicatopmCpmtext
它从文件系统中加载xml格式的配置文件来创建和初始化bean对象。
ClassPathXmlApplicationContext
它从类路径(classpath)中加载xml格式的配置文件来创建和初始化bean对象。
具体来说,FlieSystemXmlApplicatopmCpmtext、ClassPathXmlApplicationContext通过指定配置文件的路径,从文件系统中读取配置文件,并根据配置文件中的信息创建相应的bean对象。这些bean对象可以在应用程序中通过名称或类型进行访问。
FlieSystemXmlApplicatopmCpmtext、ClassPathXmlApplicationContext还支持自动装配、AOP及其他高级特性,使得应用程序的开发变得更加容易和高效。
需要注意的是,FlieSystemXmlApplicatopmCpmtext、ClassPathXmlApplicationContext是一种单例模式,即在整个应用程序中只会被创建一次。因此,它的实例应该被谨慎地管理和使用,以避免出现不必要的资源浪费和性能问题</