Spring02——ApplicationContext快速入门

发布于:2024-12-06 ⋅ 阅读:(27) ⋅ 点赞:(0)

ApplicationContext介绍

ApplicationContext称为Spring容器,内部封装了BeanFactory,比BeanFactory功能更丰富更强大,使用ApplicationContext进行开发时,xml配置文件的名称习惯写成applicationContext.xml。

//创建ApplicationContext,加载配置文件,实例化容器
ApplicationContext applicationContext = 
    new ClassPathXmlApplicationContext("applicationContext.xml");
//根据beanName获得容器中的Bean实例
UserService userService = (UserService) applicationContext.getBean("userService");
System.out.println(userService); // 一样也可以获取对象
  • BeanFactory与ApplicationContext的关系
  1. BeanFactory是Spring的早期接口,称为Spring的Bean工厂,ApplicationContext是后期更高级接口,称之为Spring容器
  2. ApplicationContext在BeanFactory基础上对功能进行了扩展,例如:监听功能、国际化功能等。BeanFactory的API更偏向底层,ApplicationContext的API大多数是对这些底层API的封装;
  3. Bean创建的主要逻辑和功能都经过封装在BeanFactory中,ApplicationContext不仅继承了BeanFactory的引用,所以,ApplicationContext与BeanFactory既有继承关系,又有融合关系
  4. Bean的初始化机制不同,原始BeanFactory是在第一次调用getBean时才进行Bean的创建,而ApplicationContext则是配置文件加载,容器一创建就将Bean实例化初始化好

ApplicationContext的继承体系

只在Spring基础环境下,常用的三个ApplicationContext作用如下

实现类 功能描述
ClassPathXmlApplicationContext 加载类路径下的xml配置的ApplicationContext
FileSystemXmlApplicationContext 加载磁盘路径下的xml配置的ApplicationContext
AnnotationConfigApplicationContext 加载注解配置类的ApplicationContext

网站公告

今日签到

点亮在社区的每一天
去签到