开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天
Spring提供了API来管理Bean,最常用的:
- BeanFactory接口
- ApplicationContext接口
BeanFactory接口的常用方法
BeanFactory接口是Spring容器最基本的接口,它的实现机制采用的是Java经典的工厂模式。
BeanFactory接口提供了创建和管理Bean的方法。
| 方法名称 | 描述 |
|---|---|
| getBean(String name) | 根据参数名称获取Bean |
| getBean(String name, Class type) | 根据参数名称、参数类型获取Bean |
| T getBean(Class requiredType) | 根据参数类型获取Bean |
| Object getBean(String name, Object ...args) | 根据参数名称获取Bean |
| isTypeMatch(String name, Resolvable TypeType) | 判断是否有与参数名称、参数类型匹配的Bean |
| Class <?>getType(String name) | 根据参数名称获取类型 |
| String[] getAliases(String name) | 根据实例的名字获取实例的别名数组 |
| boolean containsBean(String name) | 根据Bean的名称判断Spring容器是否含有指定的Bean |
BeanFactory接口实例的语法格式
Spring提供了几个BeanFactory接口的实现类,其中最常用的是XmlBeanFactory,它可以读取XML文件并根据XML文件中的配置信息生成BeanFactory接口的实例,BeanFactory接口的实例用于管理Bean。
XmlBeanFactory类读取XML文件生成BeanFactory接口实例的语法格式如下:
BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource("D:/bean.xml"));
ApplicationContext接口建立在BeanFactory接口的基础之上,它丰富了BeanFactory接口的特性,例如,添加了对国际化、资源访问、事件传播等方面的支持。
ApplicationContext接口可以为单例的Bean实行预初始化,并根据元素执行setter方法,单例的Bean可以直接使用,提升了程序获取Bean实例的性能。
ApplicationContext接口常用的实现类:
| 类名称 | 描述 |
|---|---|
| ClassPathXmlApplicationContext | 从类路径加载配置文件,实例化ApplicationContext接口 |
| FileSystemXmlApplicationContext | 从文件系统加载配置文件,实例化ApplicationContext接口 |
| AnnotationConfigApplicationContext | 从注解中加载配置文件,实例化ApplicationContext接口 |
| WebApplicationContext | 在Web应用中使用,从相对于Web根目录的路径中加载配置文件,实例化ApplicationContext接口 |
| ConfigurableWebApplicationContext | 扩展了WebApplicationContext类,它可以通过读取XML配置文件的方式实例化WebApplicationContext类 |