非正式总结 就是还称不上总结的总结。希望后边有时间做个比较全面的总结。
本篇文章对之前的Spring进行一次阶段性非正式的总结,做一个暂时的结尾。
这一遍系统的学习,除了零碎的查些概念和问题,大部分时间是跟着 极客时间上 《小马哥讲Spring核心编程思想》来学习的。视频200多集,大部分是跟着视频看,也有部分直接看讲义就过,老师的内容比较成体系。我用了大概半个月的时间来专项学习,整体觉得课程挺受用的,除了很多需要慢慢消化的,遗留了一些需要实践的代码,也还有很多需要逐步深入的。
我在每个模块也会先参考讲义做个导图,然后再学内容的时候,心里更清晰一些。这一点挺受用的。
接下来简单的聊聊spring 的一些大致内容:
在spring中,从整体内容上看,有将近20个模块左右的内容,构成Spring整个庞大的体系。 每个模块各司其职,可以按照模块来独立引用。例如事务,MVC,ORM 等
IOC 在Spring 之前就有这个理论和应用。Spring 里,也是应用IOC 这个思想做非常多的事情,更准确的说是不可或缺。可以说在Spring框架里,不论应用和实现,大都是基于IOC 和AOP的来达成的。
Spring 里IOC 主要实现形式是 通过依赖注入和依赖查找来完成的。两种方式的共同点都是IOC 的主旨,依赖反转。放在场景里,也就是业务逻辑不用关心需要的实例 是怎么创建的,也不用去管理整个实例的声明周期,把这部分依赖的内容交给容器来处理。
AOP也是另一个非常核心的内容,日常应用大家也都有所用,这里就不展开了
那么容器怎么知道你想在哪里创建什么? 这就需要元信息,比如类名,作用域,回调方法等 都是在元信息里来说明就好了。说明的方式 就是配置元信息,可以通过注解来,也可以通过property 或XML等方式来做。
容器是什么呢?就是一个盛东西的地方,可以这里放东西,可以从这里拿东西。对应Spring 容器来说的话,容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。我们可以从这个地方来拿到我们需要的实例。 换言之,这个地方就相当于一个工厂,我们需要的Bean实例都会从这个地方生产,所以这个地方有个见字知意的名字 bean工厂(BeanFactory)
有了上边的理论,接下来我们就是需要了解,当我们通过配置等方式来告诉容器我们需要的对象之后,容器都是怎么做的,怎么生产又是怎么管理的。于是我们需要了解spring 容器的整个过程,以及对应实例的生命周期。这一块是非常重也是非常重要的内容。
当然这个过程也会逐渐了解到常用的注解,依赖关系以及他们的作用
有了这些内容之后,我们便可以开始踏踏实实的来逐个看下spring 的各个模块都有哪些特点,都可以怎么用,又都是什么原理来做到的了。
比如了解一下数据绑定,了解国际化,了解事务 ,了解校验等。这一块日常工作也都会用到,可以结合工作更进一步的去看下原理。
另外 spring 也做了很多技术整合。也可以关注
下一个阶段便是体会设计思想以及用到的设计模式
Spring 里有很多巧妙的设计思想,也用了很多设计模式。是个需要研究的内容
最后,spring 的学习还有很多遍,还有很多例子还没敲, 需要一步步由浅入深慢慢来。为者常成,行者常至。