1、IOC概念
1>控制反转(inversion of control,缩写为IOC),是面向对象编程中的一种设计原则,用来减少代码直接的耦合度;
2>把对象创建和对象之间的调用过程,交给spring进行管理;
目的:为了耦合度减低
2、IOC底层原理
2.1、主要使用的技术栈:XML解析、工厂模式,反射
如:
2.2、IOC(接口)
1> IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
2> spring提供IOC容器实现的2种方式(也就是2个重要的接口)
①BeanFactory
IOC容器基本实现,是spring内部的使用接口,不提供给开发人员进行使用(我们也可以用)
②ApplicationContext
BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员使用
以上两个接口作用相似,都是通过加载xml配置文件,通过工厂创建对象
2.3、BeanFactory与ApplicationContext区别:
BeanFactory:
加载配置文件时,不会去创建bean
只有在使用对象时,才会去创建对象
如:
public class TestSpring01 {
public static void main(String[] args) {
//BeanFactory加载配置文件时,不会创建对象
BeanFactory context = new ClassPathXmlApplicationContext("bean1.xml");
//getBean表示在使用对象,此时BeanFactory才会去创建对象
User user = context.getBean("user", User.class);
user.add();
}
}
ApplicationContext:
加载配置文件时,就会去创建bean对象
在实际开发中,ApplicationContext更合适,因为耗时耗资源的操作,都交给Tomcat,项目启动时,去完成这些操作
2.4、ApplicationContext接口主要实现类
IDEA中,在类名上,按Ctrl+h,打开类的结构如图:
两个常用的实现类,区别如下:
FileSystemXmlApplicationContext:对应盘中的路径,如从C盘开始写(绝对路径)
ClassPathXmlApplicationContext:类路径(相对路径)
3、IOC操作Bean管理
3.1、什么是Bean管理?
Bean管理指的是2个操作:
①spring创建对象
②spring注入属性
3.2、Bean管理操作有2种方式
①基于xml配置文件方式实现
②基于注解方式实现
3.3、IOC操作Bean管理(基于xml方式)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99559.html