为什么读

Spring我也是很早就有接触了,而且我记得在谷歌的分析功能中,我发现了国外绝大多数的项目是不用Struts和Hibernate的,他们只用Spring。
Spring是建立在依赖注入和面向切面编程上的,这是两个非常伟大的编程思想,我觉得如果一个人的编程水平提高到了一个瓶颈,就需要在思想上进行突破。在我大一的时候,很懵懂,只知道跟着学长来学习;大二的时候从研究算法转到了我感兴趣的应用开发,因为开发出来一个存在的应用比写出一个抽象的算法要有成就感的多;在大三我开始研究各种前沿技术,android、node.js等等,这个时候学在别人的前面成为了我的动力;到现在,我却又沉下心来,从最基础的开始,慢慢研究底层。思想上不断的突破,不断的挑战自己,我才有了现在的进步。所以我决定,研究开源项目,找出开源项目的不足,对其改进。

收获

这本书虽然不是源码分析,却总能将一个框架的原理讲的很透彻。Spring的核心技术架构是建立在AOP和DI上的,这两个技术也是被所有编程人员所喜爱的技术,毕竟松耦合是所有编程人员所乐意看到的代码。
Spring的核心是一个容器,用来容纳所配置的bean。
装配bean有很多方法,但是我以前并没有注意到还有一个p装配命令,这个命令让配置变的更加简单。比如:

这段配置直接注入了song,age,还有一个instrument类。

而且我才发现spring可以注入null值,只需要在注入的时候使用标签。
Spring还有一个SpEL表达式,能够方便的进行装配配置,而且还能调用方法。
而对于Spring的配置,我也有了一定的理解。以前盲目的觉得使用注解比使用XML要方便的多,完全不去了解XML的配置,但现在理解了依赖注入之后,对代码的可移植性和可拓展性有了一定的了解,明白了使用XML来进行配置,能够将代码的可移植性和可拓展性发挥到最大,而只有在需要快速开发迭代的时候才是使用注解最好的时候。
Spring的数据库包装也是非常好用的,虽然不像Hibernate那么方便,但也将代码的冗余部分进行了封装,使得我们只需要关注于我们需要实现的部分。在我看来,这是比Hibernate更好的方式,Hibernate固然很方便,很无脑,但Hibernate的缺点也就是这两点,太过于方便,以至于内部的细节我们无法干涉,太难做优化,太无脑,以至于有许多我们不需要的功能被强行实现。我的理解是,Hibernate也是在快速开发迭代的项目中使用的,在大型的项目中,最好不要使用Hibernate这样的大型框架。
许多人一直使用Struts,不是因为他的MVC框架好用,而是因为Struts的标签太好用了。但是我发现,Spring居然也有一套跟Struts媲美的标签库。配合SpringMVC,比Struts的更加好用。
书中还讲了WebFlow和Security,这里就不进行更详细的记录了,但Spring的整个生态圈震撼了我。在Spring的官网进行了浏览之后,我发现,在每个方面,Spring都有让人惊叹的产品,如直接启动Spring应用的SpringBoot,应用在移动领域的SpringMobile和SpringForAndroid,等等。

接下来的安排

正在进行《java并发编程实战》和《hadoop实战》的阅读,但是这样的“严肃书”我的进度会尽量放慢,来进行消化和吸收。同时,每天计划做一套面试题,找工作还是我现在的第一大事。

分类: 阅读

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注