Spring 中 ClassPathXmlApplicationContext 类的简单使用
博主的学习记录
- Docker汇总
- Redis汇总
- Vue汇总
- MyBatis Plus汇总
- 微服务汇总
- Java网络编程汇总
- Java设计模式汇总
- Java并发编程汇总
- 消息中间件汇总
原文地址
一、简单的用 ApplicationContext 做测试的话 , 获得 Spring 中定义的 Bean 实例(对象) 可以用:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
如果是两个以上 , 可以使用字符串数组 :
ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{
"applicationContext.xml","SpringTest.xml"});
或者可以使用通配符:
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/*.xml");
对于 ClassPathXmlApplicationContext 的使用:
classpath:
前缀是可加可不加的 , 默认就是指项目的 classpath 路径下面。- 如果要使用绝对路径 , 需要加上
file:
, 前缀表示这是绝对路径。
对于 FileSystemXmlApplicationContext 的使用:
- 没有盘符的是项目工作路径 , 即项目的根目录。
- 有盘符表示的是文件绝对路径 ,
file:
可加可不加。 - 如果要使用 classpath 路径 , 需要前缀
classpath:
。
public class SpringTest {
public static void main(String[] args) {
// 用classpath路径// ApplicationContext context = new ClassPathXmlApplicationContext("classpath:appcontext.xml");// ApplicationContext context = new ClassPathXmlApplicationContext("appcontext.xml");// ClassPathXmlApplicationContext使用了file前缀是可以使用绝对路径的// ApplicationContext context = new ClassPathXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");// 用文件系统的路径,默认指项目的根路径// ApplicationContext context = new FileSystemXmlApplicationContext("src/appcontext.xml");// ApplicationContext context = new FileSystemXmlApplicationContext("webRoot/WEB-INF/appcontext.xml");// 使用了classpath:前缀,这样,FileSystemXmlApplicationContext也能够读取classpath下的相对路径// ApplicationContext context = new FileSystemXmlApplicationContext("classpath:appcontext.xml");// ApplicationContext context = new FileSystemXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");// 不加file前缀ApplicationContext context = new FileSystemXmlApplicationContext("F:/workspace/example/src/appcontext.xml");}
}