IoC (控制反转:Inverse of Control)是 Spring 容器的内核,AOP 、声明式事务等功能在此基础上开花结果。但是 IoC 这个重要的概念却比较晦涩隐讳,不容易让人望文生义,
这不能不说是一大遗憾。不过 IoC 确实包括很多内涵,它涉及代码解耦、设计模式、代码
优化等问题。
IoC 确实不够开门见山,因此业界曾进行了广泛的讨论,最终软件界的泰斗级人物Martin Fowler 提出了DI(依赖注入:Dependency Injection )的概念用以代替IoC ,即让调用类对某一接口实现类的依赖关系由第三方(容器或协作类)注入,以移除调用类对某一接口实现类的依赖。“依赖注入”这个名词显然比“控制反转”直接明了、易于理解。
IoC从注入方法上看,主要可以划分为三种类型:构造函数注入、属性注入和接口注入。
Spring 支持构造函数注入和属性注入。
Spring 通过一个配置文件描述 Bean及Bean之间的依赖关系,利用Java 语言的反射功能实例化 Bean并建立 Bean之间的依赖关系。Spring 的IoC 容器在完成这些底层工作的基础上,还提供了 Bean实例缓存、生命周期管理、Bean实例代理、事件发布、资源装载等
高级服务。
Bean工厂(com.springframework.beans.factory.BeanFactory )是 Spring 框架最核心的接口,它提供了高级 IoC 的配置机制。BeanFactory使管理不同类型的 Java 对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在 BeanFactory基础之上,提供了更多面向应用的功能,它提供了国际化支持和框架事件体系,更易于创建实际应用。我们一般称 BeanFactory为IoC 容器,而称ApplicationContext 为应用上下文。但有时为了行文方便,我们也将 ApplicationContext 称为 Spring 容器。 对于两者的用途,我们可以进行简单划分:BeanFactory是Spring 框架的基础设施,面向Spring 本身;ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合我们都直接使用 ApplicationContext而非底层的 BeanFactory。
分享到:
相关推荐
《Excel图表之道》试读样章.pdf《Excel图表之道》试读样章.pdf《Excel图表之道》试读样章.pdf《Excel图表之道》试读样章.pdf
(3)每本书都经过逐页纯手工精心处理,包括清晰度的增强,水印的去除。当然最重要的,是尽量保证有书 签方便您浏览。 (4)如果是中译版,文件名前半部分是英文原版书名,后面是中译版书名。 如:“Implementing....
unity5.x游戏开发指南是最新版的unity开发教程,欢迎下载
IAM白皮书(试读本).pdf
大学生试读承诺书.docx
测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读资源.zip测试试读...
java程序设计大学教程试读+课件.rar
多云安全风险图谱(试读本).pdf
这本书写的挺好的。。 IT项目经理成长手记试读样章.pdf
《王道论坛计算机考研机试指南》试读版汇编.pdf
Android移动性能实战试读文章 , 注意是试读.....只有100多页,觉得写得好可以去购买正版
软件定义边界(SDP)标准规范2.0(试读本).pdf
程序员的SQL金典(试读版).轻举技术之“纲”,张合用之“ 目”,锻造 QL 高可用性数据库应用指南从理论到实践,凝聚 QL 主流数据库最前沿的技术要领。 本书特色:主要介绍 QL 的语法规则及在实际开发中的应用
程序员代码面试指南-第八章数组和矩阵[牛客试网试读版].pdf
程序员代码面试指南-第四章递归和动态规划[牛客试网试读版].pdf
程序员代码面试指南-第三章二叉树[牛客试网试读版].pdf
本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib、requests、正则表达式、Beautiful Soup、XPath、pyquery、数据存储、Ajax数据爬取等内容,接着通过多个案例介绍了...
试读的章节,前言目录,还有第一章后记 然后没有了 这本书听说比较好 推荐游戏开发人员阅读