package com.test.spring;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class BeanFactoryUsage {
public static void main(String[] args){
//从文件系统资源实例化BeanFactory
//默认从当前的工程目录下开始查找(工程目录/com/test/文件目录)
org.springframework.core.io.Resource res = new org.springframework.core.io.FileSystemResource("com/test/bean.xml");
org.springframework.beans.factory.BeanFactory factory = new org.springframework.beans.factory.xml.XmlBeanFactory(res);
//从classpath下的资源实例化BeanFactory (Eclipse中的src/data目录下)
org.springframework.core.io.Resource resClasspath = new org.springframework.core.io.ClassPathResource("data/bean2.xml");
org.springframework.beans.factory.BeanFactory factory2 = new XmlBeanFactory(resClasspath);
//使用ApplicationContext从classpath下的xml文件实例化BeanFacotory
String classPath = "data/";
org.springframework.context.ApplicationContext appContext = new org.springframework.context.support.ClassPathXmlApplicationContext(new String[]{classPath+"bean2.xml"});
//直接生成类工厂的实例。
org.springframework.beans.factory.BeanFactory factory3 = (BeanFactory)appContext;
}
}
分享到:
相关推荐
Spring 3 中提供了三种实例化 BeanFactory 的方法,下面将详细介绍这三种方法。 第一种方法:从文件系统资源实例化 BeanFactory 在 Spring 项目中,可以从文件系统资源实例化 BeanFactory,这种方法可以使得 ...
BeanFactory支持多种作用域,每种作用域决定了bean的生命周期和实例化策略: - **单例(Singleton)**:每个请求都会返回同一个bean实例。这是默认作用域。 - **原型(Prototype)**:每次请求都会创建一个新的bean...
4. **初始化处理**:bean实例化后,`BeanFactory`可以调用初始化方法,执行后置处理器(BeanPostProcessor),以及执行其他自定义逻辑。 5. **bean的管理**:`BeanFactory`会维护一个bean的注册表,以便于管理和...
五、实例化BeanFactory 通常,我们通过以下方式创建BeanFactory实例: ```java Resource resource = new ClassPathResource("beans.xml"); BeanFactory factory = new XmlBeanFactory(resource); ``` 这里,`beans....
FactoryBean 是 Spring 中的一种特殊的 Bean,它可以用来实例化复杂对象。FactoryBean 通常用于实例化需要特殊处理的对象,例如 Quartz 框架中的调度任务配置。FactoryBean 的主要作用是隐藏实例化的复杂细节,提供...
BeanFactory提供了加载配置元数据、实例化bean、注入依赖、管理bean生命周期等基本功能。当我们在配置文件中定义bean,并通过BeanFactory加载这些配置时,BeanFactory会根据配置创建bean实例。BeanFactory在需要时才...
首先,BeanFactory是Spring中最基本的bean容器,它提供了对bean实例化、配置和管理的基本功能。通过BeanFactory,开发者可以注册bean定义,然后在运行时按需获取bean实例。BeanFactory支持延迟初始化,这意味着bean...
在 Spring 框架中,Bean 的实例化是通过 BeanFactory 中的 getBean 方法来实现的,该方法根据 bean 的名字、Class 类型和参数等来得到 bean 实例。 在了解 Bean 的实例化过程之前,我们需要了解 Spring 框架中 IoC ...
2. **Bean实例化**: 当调用`getBean`方法时,根据BeanDefinition创建Bean实例,可能是单例或多例。 3. **依赖注入**: 解析Bean的依赖关系,使用`DependencyDescriptor`查找依赖的Bean,并通过反射设置属性或调用...
在 Bean 对象实例化过程中,BeanDefinitionRegistryPostProcessor 接口扮演着重要的角色,该接口的调用分为三步:1、调用实现了 PriorityOrdered 排序接口;2、调用实现了 Ordered 排序接口;3、没有实现接口的调用...
BeanFactory是一个工厂的顶层规范,它提供了Bean的实例化、管理和依赖注入等功能。BeanFactory的实现类有DefaultListableBeanFactory、XmlBeanFactory、ApplicationContext等,它们分别从不同的维度扩展了...
本篇文章将详细探讨Spring实例化bean的三种主要方式,并提供相关的代码示例。这些方式包括使用类构造器、静态工厂方法以及实例化工厂方法。 1. **使用类构造器实现实例化** 这是最基础的实例化方式,通过指定`...
BeanFactory 包含了种 bean 的定 义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客户端的配置中解放出来。BeanFactory ...
它提供了一种延迟加载(lazy initialization)的能力,这意味着bean只有在真正被请求时才会被实例化。这样可以节省内存,尤其在大型项目中,不是所有bean都立即需要时,这种特性非常有用。 然而,`BeanFactory`虽然...
- **功能**: 注册一个`BeanPostProcessor`,这些处理器会在Bean实例化之后、初始化之前或初始化之后被调用。 - **参数**: `beanPostProcessor`,实现了`BeanPostProcessor`接口的对象。 - **应用场景**: 使用`...
BeanFactory 是 Spring 框架中的一个核心接口,用于管理应用程序中的对象(也称为 bean)。它提供了一种将应用程序组件(如服务、数据源、...BeanFactory 负责解析这些配置信息,并在需要时实例化相应的 bean 对象。
这样,`ServiceImpl`的`dependency`属性将在实例化时自动设置,无需手动进行构造函数或setter方法调用。 在测试工程中,"test"目录下的文件可能是测试类或者配置文件,用于验证BeanFactory管理和依赖注入的功能是否...
工厂方式实例化是通过调用自定义的工厂方法对Bean进行实例化,包括静态工厂方法实例化和实例工厂方法实例化两种形式。 Bean的延迟加载 在Spring框架中,Bean的延迟加载是指在业务层等各种功能bean中使用延迟加载的...
客户端通过调用BeanFactory的接口方法来获取完全组装好的对象,无需关心具体的装配过程。 在实际使用中,用户可以通过XML配置文件来定义Bean及其依赖关系,这就是所谓的"BeanFactory的XML之旅"。XML配置文件中可以...