博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Ioc之BeanFactory
阅读量:6083 次
发布时间:2019-06-20

本文共 1484 字,大约阅读时间需要 4 分钟。

  hot3.png

     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。

       145917_SRjv_932172.png     

150011_pRE4_932172.png

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应用的支持。

150557_4kG4_932172.png

      

      

转载于:https://my.oschina.net/yran/blog/649224

你可能感兴趣的文章
本地通过隧道经跳转机访问内网数据库服务器(Xshell、Navicat、Mysql)
查看>>
PPP PAP 认证
查看>>
今日小结
查看>>
RAID学习笔记
查看>>
TCP/IP协议
查看>>
全球数亿台计算机因仍在使用过时软件和系统面临被***风险
查看>>
php+mysql实现英汉查询词典的功能
查看>>
centos7新特性3
查看>>
Spring Cloud Config 加密和解密
查看>>
Linux 快速生成虚拟机 shell脚本
查看>>
mysql主从
查看>>
栈、队列、链表
查看>>
监听按钮的点击事件
查看>>
数据库中多行数据合并成一个字符串
查看>>
开启多SQL语句执行
查看>>
并发 信号量 Semaphore
查看>>
【Python 第7课】if
查看>>
小米7.0系统设备一键激活Xposed框架的教程
查看>>
MySql 开发实用笔记 2015-08-27
查看>>
GO 中常见的 flag 和 函数
查看>>