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;
}
}
分享到:
相关推荐
spring3中实例化BeanFactory的3中方法
BeanFactory 包含了种 bean 的定 义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客户端的配置中解放出来。BeanFactory ...
> BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客 户端的配置中解放出来。BeanFactory 还包含了 bean 生命周期的控制,调用客户端的初始 化方法(initialization methods)和...
实例化完成的Bean对象存放在singletonObjects当中。 FileSystemXmlApplicationContext是加载磁盘里具体位置的xml文件。不同环境下会出现不同的容器,比如导入spring-web包时,会有web环境下的容器。 (4)基于xml
BeanFactory:IOC容器的基本实现,在调用getBean()方法时才会实例化对象 ApplicationContext:提供了更多的高级特性,在加载配置文件后就会实例化对象。是BeanFactory的子接口 BeanFactory是Spring框架的基础设施,...
Spring的生命周期是指实例化Bean时所经历的一系列阶段,即通过getBean()获取bean对象及设置对象属性时,Spring框架做了哪些事。Bean的生命周期从Spring容器实例化Bean到销毁Bean。 本文分别对 BeanFactory 和 ...
这篇代码主要适用于我的博客,用来帮助理解Spring配置文件+FactoryBean的实例化过程。注意,这里是FactoryBean,而不是BeanFactory,下载资源要看清楚哈。
文章目录Spring总结Spring容器控制反转(IoC)基于XML的IoC...也就是说,从代码层面,Spring容器其实就是一个ApplicationContext(一个实例化对象)。 实例化Spring容器: Spring最基本的接口就是BeanFactory, BeanFac
表示创建或者控制对象的权利由应用程序转换到Spring容器,如下将通过new关键字准确获取UserServiceImpl、UserMapperImpl类的权利交给BeanFactory,所谓的容器是指程序运行之后,装有多个实例化Bean的组件。...
再根据反射的Class.forName(全路径)获取类的class文件,再通过class.newInstance()实例化对象 从而实现解耦。 1、IOC思想基于IOC容器完成,IOC容器底层就是对象工厂 (1)BeanFactory:IOC容器基本实现,是Spring内部的...
要实例化Disco,请在自举逻辑中使用以下代码。 创建\bitExpert\Disco\AnnotationBeanFactory的实例,并向\bitExpert\Disco\BeanFactoryRegistry注册该实例。 第二步很重要,因为Disco需要在无法访问容器实例本身的几...
-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法; -(6)Action的execute()方法返回一个ActionForward...
其核心是IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的依赖。XmlBeanFacotory实现BeanFactory...
接下来我们打开XmlBeanDefinitionReader的loadBeanDefinitions方法,我们可看到在这个方法里代码就一行,调用了一个同名不同参的方法,而参数是EncodedResource的一个实例,这个类实际上是Resource的一个包装类,...
通常,程序中采用实现HibernateCallback的匿名内部类来获取HibernateCallback的实例,方法doInHibernate()就是Spring执行的持久化操作。 24.3 Spring对Hibernate的简化 24.3.5 HibernateDaoSupport Spring为与...
10.4.1 Spring通过单实例化Bean简化多线程问题 10.4.2 启动独立线程调用事务方法 10.5 联合军种作战的混乱 10.5.1 Spring事务管理器的应对 10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼...
10.4.1 Spring通过单实例化Bean简化多线程问题 10.4.2 启动独立线程调用事务方法 10.5 联合军种作战的混乱 10.5.1 Spring事务管理器的应对 10.5.2 Hibernate+Spring JDBC混合框架的事务管理 10.6 特殊方法成漏网之鱼...
从加载过程我们可以看到,首先从Servlet事件中得到ServletContext,然后可以读到配置好的在web.xml的中的各个属性值,然后ContextLoder实例化WebApplicationContext并完成其载入和初始化作为根上下文。当这个根上...
BeanFactory:使用这个工厂创建对象的方式都是懒加载,在调用的时候再创建 ClassPathXmlApplicationContext:使用这个工厂创建对象,他会根据scope智能判断是否懒加载,如果是单例则创建容器时就会创建里面bean的实例,...