Spring学习笔记


[Why]为什么要学习Spring?

从2000年后,Spring框架是开发JavaEE应用的标配,几乎我开发过的所有项目使用了他,对于这么重要的框架怎能不去系统的学习一下呢?

[What]什么是Spring?

在以前的意识中,Spring就是一套框架,提供DIAOP、事务管理、其他框架集成等特性,但看一下Spring下面的项目,立刻被震惊到了,现在Spring由19个主项目组成,从框架(Spring Framework)到数据访问(Spring Data)到安全(Spring Security)再到移动端支持(Spring Mobile、Spring for Android),真是应有尽有。当前Spring已经发展成为一个平台,叫做Spring IO Platform,旨在:

Let's build a better Enterprise.
Spring helps development teams everywhere build simple, portable, fast and flexible JVM-base systems and applications.

看到Spring IO Platform这个名字时,不知道你是否会和我产生同样的疑问:Spring输入输出平台?好怪异的名字。经过Google,我发现IO理解成innovation in the Open(开放中创新)更合适。

下面来一起看看这个平台的全貌吧(官方介绍):

Spring IO Platform stack

通过上图,可以看出整个Spring Platform分为三大块:

  1. 基础(Foundation)部分:提供框架、安全、Groovy、反应堆、结构化和非结构化数据的访问、整合、批处理、大数据、web等功能的支持。
  2. 运行(Execution)部分:为了能快速的使用‘基础部分’提供的支持来构建自己的系统,Spring IO Platform特别提供了‘运行部分’的支持。‘执行层’根据不同系统的要求提供了不同的支持,Spring XD偏向于管道类系统的构建,Boot偏向于基础系统(JavaSE、Web)的构建。在‘运行部分’,Spring中引入了一个叫做DSR的概念,DSRDomain-Specific Runtimes 特定领域执行环境。扩展一下:与Spring XD Boot 类似的框架还有 Grails(基于Groovy语言的web全功能栈框架)。
  3. 协作(Coordination)部分:协作部分提供基于分布式架构的支持,当前的功能开正在不断成熟中。

现在我们对Spring已经有了整体上的认识,那我们要使用Spring IO Platform中的哪些内容呢?结合当前的需要,我们正在构建一个基于关系型数据库的Web项目,所以我们要使用基础部分中的FrameworkRelational Data Accessweb,以及运行部分Boot

[How]Spring怎么用?

在Spring的官网中提供了很多的指南和教程,可以通过这些指南快速的了解所需的功能如何构建,当需要更详尽的了解某一个Spring”组件”时,可以进入其对应的项目,通过查看文档来深入了解。

Spring Boot

Spring Boot

Spring Framework

Spring Framework

Spring Data

Spring Data

Spring Web

Spring Web

[Nice?]Spring的优缺点

当前对Spring的了解还处在盲目跟风期,还不能对Spring做出很多的评价。这个部分的内容,还是待以后完善吧。

[Resource]相关资源

标题:Spring学习笔记
作者: Nova Woo 2016-01-22 
出处: http://novawoo.github.io/spring-note
说明:转载、投稿、翻译类文章版权信息以正文标注为准
分类: Java & JavaEE & Spring    标签:
 
 

无觅相关文章插件,快速提升流量
友荐云推荐