IoC(Inversion of Control)的职责:原先由程序员主动通过new实例化对象这个事情,现在交由Spring负责,即由IoC容器负责。

  Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为 Spring Beans。

  通过阅读配置元数据提供的指令,容器知道对哪些对象进行实例化,配置和组装。配置元数据可以通过 XML,Java 注释或 Java 代码来表示。

  IOC 容器具有依赖注入功能的容器,它可以创建对象,IOC 容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。在Spring中BeanFactory是IOC容器的实际代表者。

  Spring 提供了以下两种不同类型的容器:

  • BeanFactory 容器:它是最简单的容器,给 DI 提供了基本的支持,它用 org.springframework.beans.factory.BeanFactory 接口来定义。BeanFactory 或者相关的接口,如 BeanFactoryAware,InitializingBean,DisposableBean。

  • ApplicationContext 容器:该容器添加了更多的企业特定的功能,例如从一个属性文件中解析文本信息的能力,发布应用程序事件给感兴趣的事件监听器的能力。该容器是由 org.springframework.context.ApplicationContext 接口定义。

  ApplicationContext 容器包括 BeanFactory 容器的所有功能。

最新文章

  1. 浅谈angular2+ionic2
  2. TortoiseGit 图标不显示
  3. GCD使用dispatch_semaphore_t创建多线程网络同步请求
  4. HDU 2082 找单词 --生成函数
  5. java 14 -5 System类
  6. dedecms 文章页调用来源合适时间的方法
  7. hdu 2489 最小生成树状态压缩枚举
  8. .Net平台下的B/S开发框架
  9. 使用css3属性,大部分浏览器要识别前缀
  10. UniCode 下 CString 转 char* 的方法(转)
  11. java 项目得到jar和classes路径
  12. vmware三种网络模式的工作原理及配置详解
  13. [持续交付实践] pipeline使用:Multibranch Pipeline
  14. HTML5 实现获取 gzip 压缩数据,并进行解压,同时解决汉字乱码,相关 pako.js
  15. EditText的焦点问题
  16. ubuntu开发环境下eclipse的alt+/自动补全功能不能用
  17. 20155339 第七周加分项目 mybash的实现
  18. HDU 4135 容斥
  19. ovs加dpdk在日志中查看更多运行细节的方法
  20. 4、运行成功的Demo(PyCharm+Selenium)

热门文章

  1. vue.js 使用v-model v-once
  2. golang module 在 spacemcs 中的配置
  3. Docker学习(六)-Kubernetes - Spring Boot 应用
  4. 解决 IDEA 无法找到 java.util.Date 的问题
  5. 图灵的文章“Computing machinery and intelligence”译文
  6. dedecms5.7文章页替换掉特定标志的图片链接
  7. Microsoft.Windows.Controls.Ribbon.RibbonWindow 碰到 AvalonDock出现的诡异现象
  8. gitea/gogs在push操作时报RPC failed的问题
  9. C#关键字 const与readonly
  10. EurekaServer自动装配及启动流程解析