接上一篇《Spring的基本应用(一)》
二、Spring的核心容器
Spring提供了两种核心容器,分别是BeanFactory和ApplicationContext。
BeanFactory
BeanFactory是基础类型的IoC容器。简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用他们的生命周期方法。
ApplicationContext
ApplicationContext是BeanFactory的子接口,也成为应用上下文,是另一种常用的Spring核心容器。
- 通过ClasPathXmlApplicationContext创建。
ClassPathXmlApplicationContext会从类路径clasPath中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作,其使用语法如下:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(String congfigLocation);
configLocation参数用于指定Spring配置文件的名称和位置。
2.通过FileSystemXmlApplicationContext创建
FileSystemXmlApplicationContext会从指定的文件系统路径(绝对路径)中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作,其使用语法如下:
ApplicationContext applicationContext = new FileSystemXmlApplicationContext(String configLocation);
此方法采用绝对路径读取的方法来读取配置文件。
三、依赖注入
依赖注入(Dependency Injection,简称DI)与控制反转(IoC)的含义相同,不过这凉饿称呼是从两个角度描述的同一个概念。
实现方法:
- 属性setter方法注入:指Spring容器使用setter的方法注入被依赖的实例。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入。
- 构造方法注入:指Spring容器使用构造方法注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。