Spring 创建 IOC 容器时加载配置文件的几种方式

一、ClassPathXmlApplicationContext 类路径加载

1. 使用 classpath 路径,classpath 前缀加不加都可以。

ApplicationContext act = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
// 使用ClassPath路径可以不加前缀
ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");

2. 使用磁盘绝对路径,必须要加前缀file。

ApplicationContext act = new ClassPathXmlApplicationContext("file:F:/stud/src/main/webapp/WEB-INF/applicationContext.xml");

3. 当有多个配置文件时

ApplicationContext act = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","spring.xml"});

4. 使用通配符

ApplicationContext act = new ClassPathXmlApplicationContext("application-*.xml");

二、FileSystemXmlApplicationContext 文件系统加载

该类参数抓取规则与 ClassPathXmlApplicationContext 相比,多了一项:

1. 使用项目的根目录

ApplicationContext act = new FileSystemXmlApplicationContext("src/main/resources/applicationContext.xml");

相同的两种抓取规则:

2. 也可以使用classpath路径,但不同的是:必须有前缀

ApplicationContext act = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");

3. 使用磁盘的绝对路径,但不同的是:前缀可以不加

ApplicationContext act = new FileSystemXmlApplicationContext("file:F:/stud/kaptcha/src/main/webapp/WEB-INF/applicationContext.xml");
// 使用磁盘绝对路径可以不加前缀 ApplicationContext act
= new FileSystemXmlApplicationContext("F:/stud/kaptcha/src/main/webapp/WEB-INF/applicationContext.xml");
原文地址:https://www.cnblogs.com/libra0920/p/6165499.html