在Web应用开发过程中,一般都涵盖一些常用功能的实现,如数据库访问、异常处理、消息队列、缓存服务、OSS服务,以及接口日志配置,接口文档生成等。如果每个项目都来一套,则既费力又难以维护。可以通过Spring Boot的Starter来将这些常用功能进行整合与集中维护,以达到开箱即用的目的。
项目基于Spring Boot 2.1.5.RELEASE 版。
项目地址: https://github.com/ronwxy/base-spring-boot
整个项目分为如下几部分:
spring-boot-autoconfigure: 具体的各功能实现,每个功能通过package的形式组织
spring-boot-commons: 一些公共的工具类或共享类
spring-boot-dependencies: 依赖的集中维护管理,集中管理各个依赖的版本号
spring-boot-parent: 提供一个基本的父项目,web服务项目可通过继承该项目创建
spring-boot-starters: 各功能的starter项目,引入相应starter即引入相应功能
spring-boot-dependencies 项目该项目主要是对所有依赖进行集中定义。通过 dependencyManagement 对依赖进行声明,
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>cn.jboost.springboot</groupId> <artifactId>spring-boot-commons</artifactId> <version>${base-spring-boot.version}</version> </dependency> ... </dependencies> </dependencyManagement>