如果有仔细研究过前一篇的《Spring温故知新(四)用HashMap写一个自己的Spring IoC简易容器吧!》
http://bolide74.iteye.com/blog/1002610,那么这一章将会非常通俗易懂。
一、什么是Bean
Bean的直接意译,叫豆子。如果把一个Java应用程序当作一杯香浓的咖啡,那么Bean也就相当于煮这杯咖啡的咖啡豆,它是煮这杯咖啡的基础。
其实看过前一章的RobotBean代码,就能发现这个所谓的Bean其实就是一个POJO(简单的Java对象),只不过叫法不一样而已。
二、Spring的IoC容器:
首先要指出的是一些初学者可能会犯的错误,就是把Spring的XML配置文件当成了IoC容器。会犯这种错误是因为在使用Spring的时候一直在操作XML,就容易认为修改XML就是在修改容器内容,就想当然的把XML当做IoC容器了(我一开始就犯这种错误了)。
事实上XML配置文件,其实是IoC容器的“配置容器”。就相当于前一篇我的IoC容器里的HashMap容器,它们起的作用都是相同的,就是用来配置和管理IoC容器里的所有Bean和它们的属性、需要注入的内容。
由于最原始的IoC容器叫做BeanFactory,其他容器都是继承了BeanFactory,因此上一篇我在实例化我的IoC容器的时候用了beanFactory的引用变量名。
BeanFactory是一个接口,实际在使用的时候我们也可以不直接用它,而是用了实现这个接口的两个子类:XmlBeanFactory类、ApplicationContext接口。而这其中用的最多的是ApplicationContext,因为它不仅继承了所有BeanFactory的功能,还扩展了更多实用的功能。
XmlBeanFactory和ApplicationContext的区别并不仅仅体现在功能的数量,还体现在加载Bean的顺序的不同。
BeanFactory和XmlBeanFactory这两个IoC容器在实例化以后并没有马上加载XML里配置过的Bean,而是在真正开始调用getBean方法去获取的时候才加载,而如果这个bean在xml里没有正确配置,那么这时候就会抛出异常。
而ApplicationContext则相反,它在自生被实例化以后,就马上开始加载XML里的所有bean,如果XML配置容器里有一些错误的配置,在这时候就会开始抛出异常了,而不像BeanFactory那样在开始getBean了才抛出异常。
XmlBeanFactory和ApplicationContext各有优劣,虽然一般用ApplicationContext比较常见,但是在一些特殊情况还是需要XmlBeanFactory这种方式,这就要看具体情况具体分析了。
IoC容器的实例化示例代码可以直接看第一章《Spring温故知新(一)Hello,World!》
http://bolide74.iteye.com/blog/993248
这一章比较简单,都是概念性的东西所以也有些枯燥,下一章我将会介绍Spring框架的重中之重,也是它的魅力所在:Spring AOP原理!
下一篇:Spring温故知新(六)AOP面向切面编程 <1>
http://bolide74.iteye.com/blog/1007086
上一篇:Spring温故知新(四)用HashMap写一个自己的Spring IoC简易容器吧!
http://bolide74.iteye.com/blog/1002610
分享到:
相关推荐
SpringSpringSpring温故知新六AOP向切面程Spring温故知新六AOP向切面程
NULL 博文链接:https://bolide74.iteye.com/blog/1050199
spring cloud + openshift example
spring cloud config
常用的spring注解大全,适合新手学习、老手温故知新。读懂spring,平步青云。
本书从实践者的角度,在讲解Docker高级实践技巧的同时,深入到源代码层次,为读者梳理出Docker容器技术和基于Docker的容器云技术(如Kubernetes)的实现方法和设计思路,帮助读者理解如何在实际场景中利用Docker解决...
Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的...
复习知识整理文档,其中介绍了spring的知识和注意点,还包含面试中常被提及的知识,帮助你快速回忆和复习知识,温故知新
温故知新ASP.NET 2.0(C#)温故知新ASP.NET 2.0(C#)温故知新ASP.NET 2.0(C#)温故知新ASP.NET 2.0(C#)温故知新ASP.NET 2.0(C#)
计算机小数表示.温故知新.pdf
第6章 充分利用spring 2.5的ioc利器统管bean世界 349 6.1 java程序员的春天厚礼—spring 2.5 349 6.1.1 爱上spring 2.5的十大理由 350 6.1.2 一睹spring 2.5芳容 351 6.1.3 spring 2.5拿手戏——控制反转与依赖...
数学:吃透课本温故知新.docx
机械军工行业:“温故知新”系列之工业机器人行业复盘(二):从美国汽车行业“2mm工程”看工业机器人国产化空间.pdf
初中语文文学讨论现当代文学温故知新
20210202-银河证券-“温故知新”系列之工业机器人行业复盘(二):从美国汽车行业“2mm工程”看工业机器人国产化空间.pdf
中信建设温故知新,从 4G 看 5G.rar
中信建设温故知新,从 4G 看 5G.pdf
行业报告---温故知新,从 4G 看 5G
通信行业:温故知新,从4G看5G-1202-中信建投-12页.pdf
代码笔记本lcwnote.com访问地址:本博客Fork自:博客主题使用:关于博客搭建可以参考 纯洁的微笑-文章博主刚转...温故知新,用spring新版本重写spring boot和spring cloud文章。 2.记录自己学习中的其他知识。