[转] Spring Boot入门(三) - Spring-boot-starter Maven Template

原文参见:Spring Boot入门(三) - Spring-boot-starter Maven Template

近来,软件依赖库的数量呈指数级增长,这些依赖库又引入了其它依赖项,依赖管理本身也成了一项非常复杂的任务,往往一个大型项目需要大量的技术专家才能很好完成依赖管理。如果想要在项目中使用一些流行的库,引入String boot starter模板可以带来很多便利,能帮助我们保证项目中使用了正确的依赖项,减小了依赖管理的复杂性。

Spring Boot带有50多种不同的启动器模块(starter template),集成了多种不同的流行框架,例如:关系型或NoSQL数据库连接、Web服务、社交网络集成、monitoring(监控)库、日志记录、模板渲染(template rendering)。而且,有越来越多的新集成库引入Spring Boot,支持的集成库的列表也一直在增加。

starter template如何工作?

Spring Boot starter是一种maven模板,包含启动特定功能所需的所有依赖项的集合。每个starter都有一个特殊的文件(pom.xml),包含Spring提供的依赖项列表。

这些依赖项可以在启动程序模块的pom.xml文件内找到。例如spring-boot-starter-data-jpa starter的POM文件可以从github上找到。

从这个pom文件可以看到其所引入的依赖性,所以项目构建中引入spring-boot-starter-data-jpa将同时引入spring-orm、hibernate-entity-manager和spring-data-jpa。这些库为编写JPA / DAO代码提供所需的基本支撑。

译注:spring-boot-starter-data-jpa 2.2.x之前使用maven进行build管理,所以对应配置文件是这个pom.xml。从2.3.x开始转而使用gradle,对应的配置文件是builde.gradle

当项目需要添加新功能的时候,建议检查现有的Spring Boot starter template,看看是否可以直接使用现成的starter。Spring Boot社区一直在持续不断地添加新的starter template,所支持的功能范围也一直在增长,有志之士也可以为Spring Boot新支持的starter template做出贡献。

流行的tempate及其依赖

下表列出了一些经常使用的Spring Starter及其依赖关系,仅供参考:

译注:最新的starter依赖请参见github starters各module下的依赖配置文件(build.gradle)。

你可能感兴趣的:([转] Spring Boot入门(三) - Spring-boot-starter Maven Template)