`

FileSystemXmlApplicationContext与ClassPathXmlApplicationContext

 
阅读更多

简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用:

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO");

如果是两个以上:
ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"});

或者用通配符:
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*.xml");


ClassPathXmlApplicationContext和FileSystemXmlApplicationContext的区别

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

对于FileSystemXmlApplicationContext:
默认表示的是两种:

1.没有盘符的是项目工作路径,即项目的根目录;
2.有盘符表示的是文件绝对路径.

如果要使用classpath路径,需要前缀classpath:

public class HelloClient {

  protected static final Log log = LogFactory.getLog(HelloClient.class);

  public static void main(String[] args) {
     Resource resource = new ClassPathResource("appcontext.xml");
     BeanFactory factory = new XmlBeanFactory(resource);

    // 用classpath路径
     ApplicationContext factory = new ClassPathXmlApplicationContext("classpath:appcontext.xml");
     ApplicationContext factory = new ClassPathXmlApplicationContext("appcontext.xml");

    // ClassPathXmlApplicationContext使用了file前缀是可以使用绝对路径的
     ApplicationContext factory = new ClassPathXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");

    // 用文件系统的路径,默认指项目的根路径
     ApplicationContext factory = new FileSystemXmlApplicationContext("src/appcontext.xml");

    // 使用了classpath:前缀,这样,FileSystemXmlApplicationContext也能够读取classpath下的相对路径
     ApplicationContext factory = new FileSystemXmlApplicationContext("classpath:appcontext.xml");
     ApplicationContext factory = new FileSystemXmlApplicationContext("file:F:/workspace/example/src/appcontext.xml");

    // 不加file前缀
    ApplicationContext factory = new FileSystemXmlApplicationContext("F:/workspace/example/src/appcontext.xml");
    IHelloWorld hw = (IHelloWorld)factory.getBean("helloworldbean");
    log.info(hw.getContent("luoshifei"));
  }
}

 

分享到:
评论

相关推荐

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    2. FileSystemXmlApplicationContext:与ClassPathXmlApplicationContext类似,它也用于加载XML配置文件,但区别在于它接受的是文件系统中的绝对路径。例如,`new FileSystemXmlApplicationContext("C:/config/beans...

    spring 容器.docx

    ApplicationContext的实现类如FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和AnnotationConfigApplicationContext分别支持从文件系统、类路径或注解配置中加载Bean定义。 ApplicationContext...

    maven相关资料

    二、ClassPathXmlApplicationContext[只能读放在web-info/classes目录下的配置文件]和FileSystemXmlApplicationContext的区别 classpath:前缀是不需要的,默认就是指项目的classpath路径下面; 如果要使用绝对路径,...

    Spring 65道面试题和答案.docx

    ApplicationContext是IOC容器的主要实现,包括FileSystemXmlApplicationContext和ClassPathXmlApplicationContext等,它们分别从文件系统和类路径下的XML配置文件加载bean定义。 总的来说,Spring框架提供了一个...

    Spring详解

    在实际应用中,我们通常使用ApplicationContext,如FileSystemXmlApplicationContext或ClassPathXmlApplicationContext,它们分别基于文件系统和类路径加载XML配置文件来创建容器。 依赖注入是Spring的核心机制,也...

    spring技术详解

    Spring容器有多种实现类,常用的有XmlBeanFactory、FileSystemXmlApplicationContext和ClassPathXmlApplicationContext等。其中,ApplicationContext是BeanFactory的子接口,通常使用...

    Spring必背.docx

    ApplicationContext还有三个常用的实现类,分别是FileSystemXmlApplicationContext、ClassPathXmlApplicationContext和WebXmlApplicationContext,其中ClassPathXmlApplicationContext是最常用的。 面向切面编程...

    2023年ssm框架题库java.doc

    2. **实例化ApplicationContext**:在Java项目中,通常使用FileSystemXmlApplicationContext或ClassPathXmlApplicationContext来创建ApplicationContext容器。而在Web项目中,容器的初始化通常由Web服务器完成。 三...

    Spring 70道面试题和答案.docx

    IoC容器有两种主要实现:FileSystemXmlApplicationContext和ClassPathXmlApplicationContext,分别从文件系统和类路径下的XML配置文件加载bean定义。 IoC的优点包括减少代码量、提高测试能力(因为依赖注入使得对象...

    spring中的BeanFactory与FactoryBean的讲解

    在ApplicationContext中,有两个主要实现类:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。ClassPathXmlApplicationContext对应类路径下的XML格式的配置文件,而...

    ssm框架题库_java.pdf

    在Java项目中,通常通过FileSystemXmlApplicationContext或ClassPathXmlApplicationContext来实例化ApplicationContext容器。在Web项目中,容器的初始化通常由Web服务器负责。 5. Spring的核心模块: - Beans模块...

    spring 源码分析

    同时,针对不同环境,Spring也提供了不同形式的容器实现,比如FileSystemXmlApplicationContext、ClassPathXmlApplicationContext等。 理解了Spring源码中IOC容器的实现,我们能够更好地掌握Spring框架的工作原理,...

    Spring基础篇.pdf

    应用程序上下文的常用实现包括FileSystemXmlApplicationContext和ClassPathXmlApplicationContext,分别用于从文件系统和类路径加载beans的定义。 Spring的IOC容器负责创建对象、管理对象的生命周期(包括依赖注入...

    spring读取配置文件

    2. `FileSystemXmlApplicationContext`:与`ClassPathXmlApplicationContext`不同,这个上下文允许你直接从文件系统的绝对路径加载XML配置文件。这种方式更适用于配置文件位于项目外部或者需要动态更改配置文件的...

Global site tag (gtag.js) - Google Analytics