Spring Ioc之BeanFactory

     IoC(Inversion of Control),即所谓的控制反转,就是应用本身不负责依赖对象的创建及维护, 依赖对象的创建及维护是由外部容器(BeanFactory)负责的。

     Spring通过配置文件(或者注解、JavaConfig)描述Bean和Bean之间的依赖关系,利用反射机制实例化Bean并建立Bean之间的依赖关系。Spring的IoC容器在完成这些底层工作的同时,还提供了Bean实例缓存、生命周期管理、Bean实例代理、事件发布、资源装载等高级服务。    

    Spring IoC容器有两个核心接口:BeanFactory和 ApplicationContext。当系统创建Spring IoC容器时,默认会预初始化所有的singleton Bean。也就是说,当IoC容器初始化完成后,容器中所有singleton Bean也实例化完成,这就意味着:系统前期创建IoC容器时将有较大的系统开销,但一旦容器初始化完成,程序后面获取singleton Bean实例时将拥有较好的性能。

BeanFactory

   BeanFactory提供了IoC的基本功能,其默认实现是XmlBeanFactory。

            

ApplicationContext

    ApplicationContext是BeanFactory的子接口。BeanFactory提供基础的IoC功能,ApplicationContext除了支持BeanFactory的全部功能外,提供了更多企业级开发的特性:

  • ApplicationContext继承MessageSource接口,因此提供国际化支持。

  • 资源访问。

  • 事件机制。      

    ApplicationContext有以下几种实现:

  • AnnotationConfigApplicationContext—Loads a Spring application context from one or more Java-based configuration classes

  • AnnotationConfigWebApplicationContext—Loads a Spring web application context from one or more Java-based configuration classes

  • ClassPathXmlApplicationContext—Loads a context definition from one or more XML files located in the classpath, treating context-definition files as classpath resources

  • FileSystemXmlApplicationContext—Loads a context definition from one or more XML files in the filesystem

  • XmlWebApplicationContext—Loads context definitions from one or more XML files contained in a web application

WebApplicationContext

      WebApplicationContext是ApplicaitonContext的子接口,提供了Spring IoC对Web应用的支持。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

spring中bean配置和bean注入

1bean与spring容器的关系!(http://images2015.cnblogs.com/blog/633531/201604/633531201604241051017411539223365.jpg)Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信

SpringIOC官方文档解读

IoC容器本章介绍了Spring的控制反转(IoC)容器。1.1。SpringIoC容器和Bean简介本章介绍了反转控制(IoC)原则的Spring框架实现。IoC也称为依赖注入(DI)。在此过程中,对象可以通过①构造函数参数(),②工厂方法的参数③或在构造或从工厂方法返回后在对象实例上设置的属性来定义其依

Spring学习笔记一

IOC容器里配置beanapplicationContext.xml必须有个无参的构造器class:bean的全类名通过beanid获得这个bean必须唯一spring提供2种IOC容器容器实现方式beanfactory用在spring本身applicationContext用在开发者配置方式相同

Spring Ioc之BeanFactory - HelloWorld