microservices-book
  • 前言
  • 微服务基础
    • 微服务架构和单体应用架构
    • 微服务架构特征
    • 微服务治理与去中心化
    • 微服务演进式设计与优缺点
    • 微服务宏观把控
  • 面向服务的架构
    • SOA 理论与概念
    • 维基百科微服务
    • 微服务和 SOA 对比
  • Spring Boot
    • Spring Boot 应用起步与配置
    • Spring Boot 应用配置分析
    • Spring Boot 打包文件内容与结构
    • 使用 Gradle 构建 Spring Boot 应用
    • Spring Boot 参数自动装配
    • Jar 文件规范
    • Spring Boot Loader 源码分析
    • 反射扩展
    • JDWP 远程调试
    • 使用 JDWP 调试 Spring Boot Loader 源码
    • @SpringBootApplication
    • @SpringBootConfiguration
    • @Configuration
Powered by GitBook
On this page
  • 关键插件配置
  • Spring Boot Gradle Plugin
  • io.spring.dependency-management Plugin
  • 主类
  • 最佳实践

Was this helpful?

  1. Spring Boot

使用 Gradle 构建 Spring Boot 应用

PreviousSpring Boot 打包文件内容与结构NextSpring Boot 参数自动装配

Last updated 5 years ago

Was this helpful?

关键插件配置

Spring Boot Gradle Plugin

plugins {
    id 'org.springframework.boot' version '2.1.4.RELEASE'
}

Spring Boot Gradle Plugin 为 Spring Boot 提供了对 Gradle 的支持,允许你将打包可执行的 jar 或者 war archives。

有了这个插件配置以后,就会有 bootRun、bootJar、bootWar 等额外的任务。

io.spring.dependency-management Plugin

apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'

当使用了 io.spring.dependency-management 依赖管理插件,Spring Boot 的插件会自动地从你使用的 Spring Boot 版本里导入 spring-boot-dependencies bom。允许你在声明依赖的时候忽略掉版本号,使用这项功能,只需要正常的声明依赖,不用写版本号就可以了。

例如:

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-web'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

主类

Spring Boot 应用都有 1 个被 @SpringBootApplication 注释所标识的 java 类,这个类一般被称为 Spring Boot 应用的主类。

最佳实践

Spring Boot 应用主类所放置的位置,一般是在 package 的最顶层。这是因为 @SpringBootApplication 注释的包扫描机制所决定的,扫描机制:扫描当前 package,以及当前 package 下的所有子 package ,来进行自动装配和类型加载。而且这个主类所在的 package 里最好不要放置其他任何文件,只放置这个主类。

如下图:

注意:Spring Boot Gradle 插件需要 Gradle 4.4 或更高版本
SpringBootApplication