Spring项目在Java语言中起到了重要的作用,只要是学习过Java语言的人一定听说过Spring的大名。Spring不是一个单一的框架,而是一个功能各异,又互相补充的框架家族。下面来针对Spring下主要的一些项目进行一下简单介绍。
Spring IO Plaform
我们在构建项目的时候,需要导入不同的依赖项。但是有时候不同版本对于依赖之间可能会出现不兼容的情况。Spring IO Plaform就是这样一个帮助我们管理依赖版本的框架,它会替我们选择最合适的版本,让我们减小这方面的工作量。
Spring Boot
我们原来运行Spring程序,需要在Maven或者Gradle中添加一些Spring的依赖,然后再通过这些构建工具提供的服务器来运行程序。使用Spring Boot,则可以免去这些繁复的工作。Spring Boot提供了一系列功能可以自动搜索、配置Spring程序。Spring Boot会将项目打包为一个可执行的jar文件,内部包含有tomcat这样的服务器,让我们可以直接以命令行的方式运行Spring程序。Spring Boot官方介绍说,它可以让你尽可能快的运行起Spring程序。
Spring Framework
这是一个Spring的基础框架,提供了Spring 的核心功能,比如依赖注入、事务管理、面向方面编程等等。我们要学习Spring的话也应该先从这里入手,学习Spring在这方面的功能。Spring 的其他框架也需要依赖这些基础功能构建服务。
Spring Data
这是Spring关于处理数据的框架,其中包含了多个模块,可以让我们使用JPA操作数据、在Redis等非SQL数据库上存取数据等很多功能。如果我们需要在Spring程序中处理数据,就应该看看这个框架。
Spring Integration
这个框架用来将Spring和其他框架、协议、服务集成起来,这些服务包括但不限于控制总线、FTP服务器、Web服务,社交服务、套接字、消息队列、邮件系统……Spring Integration提供了一些适配器,可以方便的和这些服务进行集成。
Spring Batch
Spring的批处理框架,定义了输入、输出等多个批处理模型,支持事务管理等多种高级功能,可以方便的在企业级程序中定义批处理作业,处理大量的数据。
Spring Security
Spring的安全框架,支持在程序中设置安全权限,限制未授权的用户访问某些页面,也提供了一些加密功能方便地加密数据。
Spring Social
提供了知名社交网站Facebook、Twitter、领英等的集成,可以方便的将这些社交网站和你自己的应用程序连接起来。
Spring Mobile
这是一个针对Spring MVC框架的扩展,可以方便的替我们识别手机、平板和电脑用户,让我们可以针对不同用户提供不同的网站外观、资源等等。
Spring Android
看名字就知道了,这个框架旨在将Spring带入安卓程序。
Spring Session
提供了一个Session的实现,帮助我们管理用户会话。
Spring Shell
提供了一些组件,帮助我们快速开发基于Spring的Java命令行程序。
Spring Flo
这是Spring框架为数不多的前端框架,这是一个JavaScript框架,用来画流程图的。
还有一些框架我也不知道是干什么用的,所以就没做介绍。我们在Spring官网上可以看到这么多的框架,几乎涵盖了开发当中的各个方面。我记得有调查说现在网络上大约有70%-80%的应用程序都是基于Spring开发的,可能具体数字记不太准确了,但是确实Spring已经成为了我们网络程序运行的基础了。而且Spring的这么多框架,全部是按照依赖注入等方式构建的,所以我们能以相同的方式,快速的将这些框架添加到我们的程序中。
最后再说一下Spring官方文档的位置,我们常用的有Spring参考手册和Spring Java Doc 。我们日常所说的Spring框架,一般指的是依赖注入、AOP这些,都在Spring Framework中。Spring Java Doc包含了Spring AIP的详细使用方法。