spring中的BeanFactory与ApplicationContext的作用和区别?

spring 发表评论
作用: 1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。 2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持 b. 资源访问:Resource rs = ctx. getResource(“classpath:config.properties”), “file:c:/config.properties” c. 事件传递:通过实现ApplicationContextAware接口 3…

Aware相关接口

spring 发表评论
Aware,是感应和感知的意思。当bean实现了对应的Aware接口时,BeanFactory会在生产bean时根据它所实现的Aware接口,给bean注入对应的属性,从而让bean获取外界的信息。 Spring提供了一堆Aware接口: 下面列出几个主要Aware接口作用: org.springframework.context.ApplicationContextAware接口: 实现类的实例将会获取ApplicationContext的引用,因此可以编程式的使用ApplicationContext手动创建bean. p…

Spring中BeanFactory、ApplicationContext区别

spring 发表评论
作用: 1. BeanFactory 负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。 2. ApplicationContext 除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持 b. 资源访问:Resource rs = ctx. getResource(“classpath:config.properties”), “file:c:/config.properties” c. 事件传递:通过实现ApplicationContextAware接口 …

Spring FactoryBean应用

spring 发表评论
Spring 中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean 即 FactoryBean。FactoryBean跟普通Bean不同,其返回的对象不是指定类的一个实例,而是该FactoryBean的getObject方法所返回的对象。 本文简单分析工厂FactoryBean的用法。 FactoryBean接口定义 package org.springframework.beans.factory; public interface FactoryBean<T> { T getObject() throws Exception; Class<?> ge…

Spring Beanfactory create

Spring的依赖注入容器的核心是Beanfactory。BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。创建BeanFactory 可以通过手工代码的方式也可以通过配置文件的方式。具体有以下几种方式:   1. ClassPathXmlApplicationContext:默认从classpath的xml配置文件创建,可以从jar包中读取配置文件 BeanFactory factory = new ClassPathXmlApplicati…

Spring Bean 配置说明

spring 发表评论
Spring Bean 配置说明  (2008-06-10 11:34:17) 转载▼ 标签:  it 分类: J2EE <beans> Spring配置文件的根元素,包含一个或多个bean元素。 default-autowire属性:默认的bean自动装配模式。可选5种模式。 no:不使用自动装配。Bean的引用必须通过ref元素定义。 byName:通过属性名字进行自动装配。 byType:如果BeanFactory中正好有一个同属性类型一样的bean,就自动装配这个属性。如果有多于…

spring每次getBean(),获得的是否是同一个实例

spring 缺省:1.spring用DefaultListableBeanFactory.preInstantiateSingletons()建立bean实例2.缺省采用单例模式测试基本bean: xml配置文件: <bean id="dvdTypeDAO" class="com.machome.hibernate.impl.DvdTypeDAOImpl" />    测试代码:         ctx = new ClassPathXmlApplicationContext("spring-hibernate-mysql.xml");         DvdTypeDAO tDao1 = (DvdTypeDAO)ctx.getBean("dvdTypeDAO");…

spring之scope(作用域)

spring 发表评论
spring有以下五种作用域 1、singleton(单例模式),当一个bean的作用域被设置为singleton时,也就意味着ioc容器中只会创建该类型的一个实例bean,如果没有设置懒加载lazy-init,bean创建的过程一般都发生在容器的初始化过程(ioc容器的资源定位,载入,注册)中,每一次请求ioc容器返回的都是这个唯一存在的实例bean。   配置: <bean id="role" class="com.pojo.Role" scope="singleton"></…

Spring框架:FactoryBean配置bean

之前可以用全类名配置、实例方法配置,为什么还要搞一个FactoryBean来配置呢? 因为我们在配置一个Bean的时候需要用到IOC实例里面的其他bean,这时候用FactoryBean配置是最合适的 实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean •Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. •工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工…

byName讲解

根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为by name,而该bean包含student属性(同时提供setStudent(..)方法),Spring就会查找名为student的bean定义,并用它来装配给student属性。 Xml中的文件的配置如下: <bean id="student" class="com.csdn.bean.Student" > <property name="name"><va…

spring-春天的故事2

Bean作用域 使用scope设置bean的作用域,常用的两种设置为prototype singleton: -singleton作用域:如果作用域设置为 singleton,那么 Spring IoC 容器刚好创建一个由该 bean 定义的对象的实例。该单一实例将存储在这种单例 bean 的高速缓存中,以及针对该 bean 的所有后续的请求和引用都返回缓存对象。 默认作用域是始终是 singleton,但是当仅仅需要 bean 的一个实例时,你可以在 bean 的配置文件…

Spring从入门到进阶——Spring Bean

spring的bean管理(2种方式) 1、xml方式 2、注解方式 实例化bean的方式(创建Bean的方式)(3种) 1:使用类构造器实例化(默认无参数) <!-- 方式一:无参数的构造方法的实例化,调用构造方法初始化,默认是调用无参数的构造方法--> <bean id="bean1" class="com.spring.demo.Bean1"></bean> 2:使用静态工厂方法实例化Bean(简单工厂模式) 提供一个工厂类 public class Bean2Fa…

spring中scope的singleton和prototype区别

<bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/>   这里的scope就是用来配置spring bean的作用域,它标识bean的作用域。在spring2.0之前bean只有2种作用域即:singleton(单例)、non-singleton(也称prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean。因此,默认情况下Spring2.0现在有五种类型的Bean。当然…

spring中单例Bean引用原型Bean产生的问题及解决办法

问题描述 spring里Bean都有一个作用域,用注解@Scope表示,容器默认使用的是单例,即“singleton”,顾名思义就是指容器每次只为我们创建一次Bean,以后使用都是拿的同一个。虽然平时开发的时候基本都是使用单例的,但不免有时候会使用到另一种类型,即原型模式,这时候就会产生一个问题:当我们单例Bean注入了原型Bean,并且调用了原型Bean的某个方法,我们希望的是单例Bean只初始化一次,而原型Bean每…

Spring装配Bean(六)Bean的作用域

在默认情况下,Spring应用上下文中所有bean都是作为以单例的形式创建的。也就是说,不管给定的一个bean被注入到其他bean多少次,每次所注入的都是同一个实例在大多数情况下,单例bean时很理想的方案。有时候存在,所使用的类是易变的,对这些类的bean进行重用可能就不安全,例如购物车bean如果是单例的话,每个用户都向一个购物车中添加商品,这就有问题了Spring定义了多种作用域,可以基于这些作用域…
下一页 »