Spring 中 ClassPathXmlApplicationContext 类的简单使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37960603/article/details/82709660

原文地址

一、简单的用 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 的使用:

  1. classpath: 前缀是可加可不加的 , 默认就是指项目的 classpath 路径下面;
  2. 如果要使用绝对路径 , 需要加上 file: , 前缀表示这是绝对路径;

对于 FileSystemXmlApplicationContext 的使用:

  1. 没有盘符的是项目工作路径 , 即项目的根目录;
  2. 有盘符表示的是文件绝对路径 ,file: 可加可不加.
  3. 如果要使用 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");
  }
}

猜你喜欢

转载自blog.csdn.net/qq_37960603/article/details/82709660