BeanFactory 和ApplicationContext(Bean工厂和应用上下文)

Bean工厂(BeanFactory接口),提供了基础的依赖注入支持。

应用上下文(ApplicationContext接口),建立在Bean工厂基础之上,提供了系统架构服务。

ApplicationContext提供了更多功能:

1、提供了文本信息解析工具,包括对国际化(I18N)的支持。

2、提供了载入文件资源的通用方法,如载入图片。

3、可以向注册为监听器的Bean发送事件。

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

BeanFactory基本的工厂		解析,管理,实例化所有容器内的bean的接口,spring中所有解析配置文件的类都直接或者间接实现该接口                ApplicationContext接口implements BeanFactory创建对象的特点:BeanFactory    在解析配置文件时并不会初始化对象,只有在使用对象时(getBean())才会对该对象进行初始化ApplicationContext    在解析配置文件时对配置文件中的所有对象都初始化了,getBean()方法只是获取对象的过程

				
时间: 2024-11-10 00:55:31

BeanFactory 和ApplicationContext(Bean工厂和应用上下文)的相关文章

bean工厂和ApplicationContext

获取bean的两种方法 1. 从applicationcontext 应用上下文容器中获取 2. 从bean 工厂获取 bean 的区别 使用ApplicationContext 获取bean的例子 我们定义一个Student 类,然后让spring去调用它 Student.java package com.getBean; /** * Created by admin on 2017/12/9. */ public class Student { private String name; pr

Beanfactory与ApplicationContext

Spring提供了容器实现的两种方式: Bean工厂(BeanFactory接口),提供了基础的依赖注入支持: 应用上下文(ApplicationContext接口),建立在Bean工厂基础之上,提供了系统架构服务. 现阶段,企业开发在选择上更加倾向于ApplicationContext接口,因为ApplicationContext接口涵盖了BeanFactory接口,如果使用一个普通的BeanFactory接口,很多其他的功能将不会起作用,如Spring的事物transcation和AOP都不

BeanFactory和ApplicationContext的介绍

------------------siwuxie095 Spring 通过一个配置文件描述 Bean 和 Bean 之间的依赖关系, 利用 Java 语言的反射功能实例化 Bean,并建立 Bean 之间的 依赖关系 Spring 的 IoC 容器在完成这些底层工作的基础上,还提供了 Bean 实例缓存.生命周期管理.Bean 实例代理.事件发布 和 资源装载 等高级服务 BeanFactory 是 Spring 框架最核心的接口,它提供了高级 IoC 的 配置机制,BeanFactory 使

BeanFactory 和 ApplicationContext

Spring通过一个配置文件描述Bean及Bean直接的依赖关系,利用Java语言的反射功能实例化Bean并建立Bean之间的依赖关系.Sprig的IoC容器在完成这些底层工作的基础上,还提供了Bean实例缓存.生命周期管理.Bean实例代理.事件发布.资源装载等高级服务. Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机制.BeanFactory使管理不同类型的Java对象成为可

BeanFactory和ApplicationContext

BeanFactory是一个类的通用工厂,可以创建并管理各种类的对象 beanFactory主要的方法就是getBean,其他功能都是通过其他接口得到不断扩展. ListableBeanFactory: 该接口定义了访问容器中Bean基本信息的若干方法,如查看Bean的个数.获取某一类型Bean的配置名.查看容器中是否包括某一Bean等. HierarchicalBeanFactory:父子级联IoC容器的接口,子容器可以通过接口方法访问父容器. ConfigurableBeanFactory:

转:Spring系列之beanFactory与ApplicationContext

原文地址:Spring系列之beanFactory与ApplicationContext 一.BeanFactoryBeanFactory 是 Spring 的"心脏".它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化.配置和管理 Bean. BeanFactory:是IOC容器的核心接口, 它定义了IOC的基本功能,我们看到它主要定义了getBean方法.getBean方法是IOC容器获取bean对象和引发依赖注入的起点.方法的功能是返

Spring(二)核心容器 - 简介 、BeanFactory、ApplicationContext

目录 前言 1.容器简介 2.容器的结构 2.1 BeanFactory 2.2 ApplicationContext 2.2.1 ConfigurableApplicationContext 2.2.2 WebApplicationContext 2.3 差异对比 3.ApplicationContext 准备启动 4.总结 前言 在上篇文章中,和大家一起讨论了 Spring 的整体架构,其大致分为五个模块:核心容器.AOP.Web.Data 数据访问.Test模块.其中核心容器是 Sprin

从基础知识到重写Spring的Bean工厂中学习java的工厂模式

1.静态工厂模式其他对象不能直接通过new得到某个类,而是通过调用getInstance()方法得到该类的对象这样,就可以控制类的产生过程.顺带提一下单例模式和多例模式:  单例模式是指控制其他对象获得该对象永远只有同一个对象  而多例模式则是根据需要从某个具体集合中获取所需的对象 1 import java.util.ArrayList; 2 import java.util.List; 3 4 5 public class Car implements Moveable{ 6 private

理解Spring的Bean工厂

一提到工厂,我们先来回忆前面学习过的工厂方法和抽象工厂模式: 工厂方法:针对产品维度,可以产生新的产品,也可以产生新的产品工厂,既可以扩展产品维度.但是如果我们想在普通工厂上生产产品系列,就会特别麻烦如果产生Apple你就得产生AppleFactory,如果产生Mushroom,就得产生MushroomFactory.这样就会照成工厂泛滥. 抽象工厂:针对产品系列,可以在谋一系列的产品上进行扩展.缺点是如果产生产品新种,改动就会很多. Spring工厂:可以在产品系列方面既能扩展,又能确定产品品