第一种采用类路径的加载方式获取:
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 容器中的 Bean 对象的...
Spring提供了`ContextLoader`和`WebApplicationContextUtils`等工具类,可以从当前线程或ServletContext中获取ApplicationContext。 ```java // 在非Web应用中 ApplicationContext ac = ContextLoader....
总的来说,ApplicationContext 是 Spring 框架的核心组件,它通过不同的实现方式满足不同场景下的需求。理解并熟练掌握各种 ApplicationContext 的使用,能帮助开发者更有效地利用 Spring 框架构建和管理应用。在...
以下将详细介绍Spring在代码中获取bean的几种主要方法: 1. **`ApplicationContext` 接口** `ApplicationContext` 是Spring中最常用的接口之一,它提供了获取Bean的多种方法。例如,`getBean(String beanName)` ...
"Spring在代码中获取bean的几种方式详解" Spring框架是Java应用程序中最流行的框架之一,它提供了许多功能强大且灵活的功能之一就是Bean管理机制。Bean是Spring框架的核心组件,用于管理应用程序中的业务逻辑。在...
根据提供的文件信息,我们可以总结出以下关于Spring框架中获取Bean的几种方法的相关知识点: ### Spring框架简介 Spring框架是一款开源的轻量级Java EE应用程序开发框架,它通过提供一系列强大的功能来简化Java...
具体来说,有两种方式: 1. **`getWebApplicationContext(ServletContext servletContext)`**: - **作用**:此方法尝试从ServletContext中检索WebApplicationContext。 - **返回值**:如果找到了,则返回对应的...
本文将深入探讨几种常见的获取Spring容器的方法,包括使用`ApplicationContext`、通过`ServletContext`、利用`ApplicationObjectSupport`、`WebApplicationObjectSupport`以及实现`ApplicationContextAware`接口等。...
可以通过多种方式来初始化`ApplicationContext`,其中最常见的有以下几种: 1. **XML配置文件**:使用XML配置文件来定义Spring容器中Bean的配置信息。 2. **注解驱动**:使用注解如`@ComponentScan`、`@...
本篇将详细介绍Spring Boot中获取Bean的几种常见方式。 首先,让我们理解什么是Spring Bean。在Spring框架中,Bean是一个由Spring容器管理的对象,通常代表应用中的业务组件或服务。Spring会负责Bean的创建、初始化...
当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...
Spring提供了多种方式来获取Bean,下面将详细介绍几种常用的方法。 1. **基于XML的配置** 在传统的Spring应用中,Bean定义通常存储在XML文件中。我们可以通过`ApplicationContext`接口的`getBean`方法来获取Bean。...
本文将详细介绍如何通过监听器获取Spring配置文件中的bean,以及几种实现方式的优劣分析。 首先,我们需要创建一个监听器来执行这些初始化任务。这里创建了一个名为`InitDataListener`的类,它继承自`...
另一种方式是直接使用`java.util.Properties`类的`load()`方法加载文件,然后通过`getProperty()`获取属性值: ```java Properties props = new Properties(); props.load(new FileInputStream("config....
如果你有对ApplicationContext的引用,可以直接使用其提供的静态方法`ApplicationContextUtils.getApplicationContext()`获取ApplicationContext实例,然后调用`getBean()`获取Bean: ```java ApplicationContext ...
获取Bean主要有以下几种方式: 1. **通过Bean的ID**:使用`ApplicationContext`的`getBean()`方法,传入Bean的ID来获取实例。 2. **自动装配(Autowired)**:使用`@Autowired`注解,Spring会自动匹配类型匹配的...
`BeanFactory`接口是`ApplicationContext`的基接口,它定义了获取Bean的基本方法,如`getBean`。在实际的实现中,`ClassPathXmlApplicationContext`不仅实现了`BeanFactory`接口,还扩展了许多其他功能,如事件发布...
获取Bean主要有以下几种方式: 1. **通过名称获取Bean** 使用`ApplicationContext`的`getBean(String name)`方法可以直接根据Bean的定义名称获取到对应的实例。例如: ```java ApplicationContext context = new...
在 Spring 框架中,有多种方式可以获取 Bean 对象。下面我们将介绍其中的一些常用姿势实例。 1. 使用 ApplicationContext 获取所有的 Bean ApplicationContext 提供了获取所有已经成功注入 Spring IoC 容器的 Bean...
我们可以通过以下几种方式来获取IOC容器中注入的Bean: 1. 通过`@Autowired`注解注入Bean对象 2. 通过`ApplicationContext`对象获取Bean对象 3. 通过自定义的公共类来获取Bean对象 在给定的示例代码中,我们可以...