前面一篇,我们入门了Spring一个例子,但是还有很多东西不知道什么意思,只知道这么创建就可以,在解释这些之前,我们先来学习几个Spring的概念。
1.IOC 控制反转
IOC是一种思想,(Inverse Of Control)反转控制,主要的意思就是将创建对象的方式反转了。以前对象的创建是由我们开发人员自己维护,例如在Service层,需要new一个DAO层的具体实现类,也包括依赖关系也是自己注入。使用了Spring之后,对象的创建以及依赖关系注入可以由Spring完成。
反转控制就是反转了对象的创建方式,从开发人员创建反转给了Spring这个程序。
2.DI 依赖注入
DI是一种技术,Dependency Injection)依赖注入
实现IOC思想需要DI技术做支持。注入可以根据注入方式和注入类型分成以下几种。
注入方式:
set方法注入
构造方法注入
字段注入
注入类型:
值类型注入,就是8大基本数据类型
引用类型注入,就是依赖对象注入
3.BeanFactory接口
上图中可以看出,BeanFactory接口是Spring早期设计的原始接口,功能相对单一。BeanFactory接口对应的实现类的容器,有一个特点:每次在获得对象时才会创建对象。
4.ApplicationContext接口
从BeanFactory这张图来看,ApplicationContext接口还不是直接继承BeanFactory接口,先来了解下ApplicationContext接口对应实现类的容器的特点:容器启动时就会创建容器中配置的所有对象,并提供更多丰富功能。
ApplicationContext接口下有两种实现类来加载配置文件
1.从类路径下加载配置文件,也就是我们写的ClassPathXmlApplicationContext
2.从硬盘绝对路径下加载配置文件,FileSystemXmlApplicationContext,这个基本不用。
这两个接口的选择场景:如果是web开发,我们选择ApplicationContext接口,如果是资源匮乏的设备上开发,选择BeanFactory接口。