FileSystemXmlApplicationContext :此容器从一个XML文件中加载beans的定义,XML Bean
配置文件的全路径名必须提供给它的构造函数。ClassPathXmlApplicationContext:此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。
WebXmlApplicationContext:此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean。
Spring框架提供了多种实现ApplicationContext接口的类,常见的实现方式包括:
- ClassPathXmlApplicationContext:从类路径下的XML配置文件加载ApplicationContext。可以通过传入配置文件的路径或路径数组来进行初始化。
- FileSystemXmlApplicationContext:从文件系统中的XML配置文件加载ApplicationContext。可以通过传入配置文件的路径或路径数组来进行初始化。
- AnnotationConfigApplicationContext:基于注解配置的ApplicationContext。可以通过传入配置类(带有@Configuration注解的类)来进行初始化,而不是使用XML配置文件。
- XmlWebApplicationContext:用于Web应用程序的ApplicationContext。它会自动加载位于WEB-INF目录下的XML配置文件,并与Web容器进行集成。
- AnnotationConfigWebApplicationContext:基于注解配置的Web应用程序的ApplicationContext。与XmlWebApplicationContext类似,但使用注解配置替代XML配置。
这些是最常见的ApplicationContext实现方式,每种实现方式适用于不同的场景和需求。开发者可以根据自己的项目配置和偏好选择合适的ApplicationContext实现类。无论使用哪种实现方式,ApplicationContext都提供了统一的接口,可以方便地进行Bean的管理、依赖注入、事件发布等操作。