虽然一直在项目中使用Spring,但是一些底层的设计思想还真是不太清楚。借此机会,学习升华一下。
收获:
第三章 IoC容器概述
1. 虽然知道Spring的核心技术是控制反转IoC(Inverse of Control)和依赖注入DI(Dependency Injection),也知道Java的反射机制, 但是Spring使用的是Java反射机制作为底层技术实现IoC,这我还是从本书中了解到的,也更深的理解了Spring的控制反转原理。
2. 作者用《墨攻》作为例子解释IoC,还真是通俗易懂,非常形象,容易理解啊。还有Martin Fowler提出的DI概念也确实比IoC直接明了,易于理解。
3. Spring只支持构造函数注入和属性注入,而不支持接口注入。原因是通过接口注入需要额外声明一个接口,增加了类的数目,而且它的效果和属性注入并无本质区别,因此不提倡采用这种方式。
4. 对Java反射机制的描述深入浅出。Java 的反射体系保证了可以通过程序化的方式访问目标类中所有的元素,对于private 或protected 的成员变量和方法,只要JVM 的安全机制允许,也可以通过反射进行调用。
5. Spring支持基于类注解的配置方式, 百度了一下是从2.5版本开始的。和基于XML 文件配置方式的优势在于,类注解的配置方式可以很容易地让开发者控制Bean 的初始化过程,比基于XML 的配置更加灵活。
6.
1)BeanFactory 是Spring 框架的基础设施,面向Spring 本身;ApplicationContext 面向使用Spring 框架的开发者,几乎所有的应用场合我们都直接使用ApplicationContext 而非底层的BeanFactory。
2)在BeanFactory 中,很多功能需要以编程的方式实现,而在ApplicationContext 中则可以通过配置的方式实现。
3)ApplicationContext 和BeanFactory 另一个最大的不同之处在于:前者会利用Java 反射机制自动识别出配置文件中定义的BeanPostProcessor、InstantiationAwareBeanPostProcessor和BeanFactoryPostProcessor,并自动将它们注册到应用上下文中;而后者需要在代码中通过手工调用addBeanPostProcessor()方法进行注册。这也是为什么在应用开发时,我们普遍使用ApplicationContext 而很少使用BeanFactory 的原因之一。
纠错:
P82, 在beans.xml中,作者应该是将② 和 ③ 处 定 义 的BeanPostProcessor 和BeanFactoryPostProcessor注释写反了,前者是Bean后处理器,后者才是工厂后处理器。
第16章 实战型单元测试
1. 通过作者对JUnit4中一些新功能的介绍,回头去看原来项目中的单元测试(注:使用的也是JUnit),确实发现有许多可以改进的地方。比如:使用@BeforeClass和@AfterClass代替@Before和@After注解,减少相同测试夹具(Fixture)的重复设置,提高测试效率。
仍然试读中,更新中......
(未完待续)
分享到:
相关推荐
《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数据爬取等内容,接着通过多个案例介绍了...
试读的章节,前言目录,还有第一章后记 然后没有了 这本书听说比较好 推荐游戏开发人员阅读