`

获取ApplicationContext的几种方式

阅读更多

第一种采用类路径的加载方式获取:

    

ApplicationContext ctx=new ClassPathXmlApplicationContext("classpath:application.xml");

此处的文件必须位于classpath路径中

  

第二种采用系统文件路径加载的方式获取:

ApplicationContext ctx=new FileSystemXmlApplicationContext("/application.xml");

此处的application.xml必须位于系统中一个具体的位置

 

第三种使用beanfactory加载配置信息:

   Resource r=new ClassPathResource(""); 此处必须为classpath路径中
        Resource res=new FileSystemResource("");必须为文件路径中
        
  BeanFactory bf=new XmlBeanFactory(r);

 

 

使用BeanFactory从xml配置文件加载bean: 
Java code
import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; public class XmlConfigWithBeanFactory { public static void main(String[] args) { XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("build/beans.xml")); } }

使用ApplicationConText从xml配置文件加载bean: 
Java code
public class XmlConfigWithApplication{ public static void main(String[] args){ ApplicationContext application = new ClassPathXmlApplicationContext(beans.xml")); application.getBean("BeanName"); }}


ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载, 
如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常; 
而ApplicationContext则在初始化自身是检验,这样有利于检查所依赖属性是否注入; 
所以通常情况下我们选择使用ApplicationContext.

分享到:
评论

相关推荐

    Spring获取webapplicationcontext,applicationcontext几种方法详解

    Spring 获取 WebApplicationContext、ApplicationContext 几种方法详解 在 Spring 框架中,获取 WebApplicationContext 和 ApplicationContext 对象是非常重要的,因为它们提供了访问 Spring 容器中的 Bean 对象的...

    Java获取Bean的几种方式.pdf

    Spring提供了`ContextLoader`和`WebApplicationContextUtils`等工具类,可以从当前线程或ServletContext中获取ApplicationContext。 ```java // 在非Web应用中 ApplicationContext ac = ContextLoader....

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

    总的来说,ApplicationContext 是 Spring 框架的核心组件,它通过不同的实现方式满足不同场景下的需求。理解并熟练掌握各种 ApplicationContext 的使用,能帮助开发者更有效地利用 Spring 框架构建和管理应用。在...

    Spring在代码中获取bean的几种方式.rar

    以下将详细介绍Spring在代码中获取bean的几种主要方法: 1. **`ApplicationContext` 接口** `ApplicationContext` 是Spring中最常用的接口之一,它提供了获取Bean的多种方法。例如,`getBean(String beanName)` ...

    Spring在代码中获取bean的几种方式详解

    "Spring在代码中获取bean的几种方式详解" Spring框架是Java应用程序中最流行的框架之一,它提供了许多功能强大且灵活的功能之一就是Bean管理机制。Bean是Spring框架的核心组件,用于管理应用程序中的业务逻辑。在...

    几种spring获取bean的方法.txt

    根据提供的文件信息,我们可以总结出以下关于Spring框架中获取Bean的几种方法的相关知识点: ### Spring框架简介 Spring框架是一款开源的轻量级Java EE应用程序开发框架,它通过提供一系列强大的功能来简化Java...

    在action以外的地方获取dao

    具体来说,有两种方式: 1. **`getWebApplicationContext(ServletContext servletContext)`**: - **作用**:此方法尝试从ServletContext中检索WebApplicationContext。 - **返回值**:如果找到了,则返回对应的...

    获取spring容器的方法

    本文将深入探讨几种常见的获取Spring容器的方法,包括使用`ApplicationContext`、通过`ServletContext`、利用`ApplicationObjectSupport`、`WebApplicationObjectSupport`以及实现`ApplicationContextAware`接口等。...

    获取Spring容器

    可以通过多种方式来初始化`ApplicationContext`,其中最常见的有以下几种: 1. **XML配置文件**:使用XML配置文件来定义Spring容器中Bean的配置信息。 2. **注解驱动**:使用注解如`@ComponentScan`、`@...

    SpringBoot 获取spring bean方式.rar

    本篇将详细介绍Spring Boot中获取Bean的几种常见方式。 首先,让我们理解什么是Spring Bean。在Spring框架中,Bean是一个由Spring容器管理的对象,通常代表应用中的业务组件或服务。Spring会负责Bean的创建、初始化...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    学习Spring的一点代码01:如何获取bean?

    Spring提供了多种方式来获取Bean,下面将详细介绍几种常用的方法。 1. **基于XML的配置** 在传统的Spring应用中,Bean定义通常存储在XML文件中。我们可以通过`ApplicationContext`接口的`getBean`方法来获取Bean。...

    监听器获取Spring配置文件的方法

    本文将详细介绍如何通过监听器获取Spring配置文件中的bean,以及几种实现方式的优劣分析。 首先,我们需要创建一个监听器来执行这些初始化任务。这里创建了一个名为`InitDataListener`的类,它继承自`...

    加载properties配置文件的几种方法

    另一种方式是直接使用`java.util.Properties`类的`load()`方法加载文件,然后通过`getProperty()`获取属性值: ```java Properties props = new Properties(); props.load(new FileInputStream("config....

    Spring在代码中获取bean的方法小结

    如果你有对ApplicationContext的引用,可以直接使用其提供的静态方法`ApplicationContextUtils.getApplicationContext()`获取ApplicationContext实例,然后调用`getBean()`获取Bean: ```java ApplicationContext ...

    第一章 Spring4 简介及获取Bean

    获取Bean主要有以下几种方式: 1. **通过Bean的ID**:使用`ApplicationContext`的`getBean()`方法,传入Bean的ID来获取实例。 2. **自动装配(Autowired)**:使用`@Autowired`注解,Spring会自动匹配类型匹配的...

    Java中spring读取配置文件的几种方法示例

    `BeanFactory`接口是`ApplicationContext`的基接口,它定义了获取Bean的基本方法,如`getBean`。在实际的实现中,`ClassPathXmlApplicationContext`不仅实现了`BeanFactory`接口,还扩展了许多其他功能,如事件发布...

    Spring在应用中获得Bean的方法

    获取Bean主要有以下几种方式: 1. **通过名称获取Bean** 使用`ApplicationContext`的`getBean(String name)`方法可以直接根据Bean的定义名称获取到对应的实例。例如: ```java ApplicationContext context = new...

    Spring 应用上下文获取 Bean 的常用姿势实例总结

    在 Spring 框架中,有多种方式可以获取 Bean 对象。下面我们将介绍其中的一些常用姿势实例。 1. 使用 ApplicationContext 获取所有的 Bean ApplicationContext 提供了获取所有已经成功注入 Spring IoC 容器的 Bean...

    关于SpringBoot获取IOC容器中注入的Bean(推荐)

    我们可以通过以下几种方式来获取IOC容器中注入的Bean: 1. 通过`@Autowired`注解注入Bean对象 2. 通过`ApplicationContext`对象获取Bean对象 3. 通过自定义的公共类来获取Bean对象 在给定的示例代码中,我们可以...

Global site tag (gtag.js) - Google Analytics