已发布·持续改进
Framework · 2014 年发布
Spring Boot 是面向 Java 和 Kotlin 的服务器框架,只需极少配置即可创建可独立运行、适用于生产环境的 Spring 应用。
Spring Boot 构建在 Spring Framework 之上,用于快速创建可独立运行、达到生产级别的应用。1.0 版于 2014 年发布,如今由 Broadcom 的 Spring 团队与社区一起以开源方式开发。自动配置会根据类路径准备你可能需要的 Bean,starter 则把每项功能所需的依赖打包在一起,因此无需 XML 或冗长的配置就能直接开始编写代码。
Spring Boot 广泛用于重视可靠性和可维护性的服务器应用,例如 REST API、微服务、企业业务系统和批处理任务。它与 Spring Data、Spring Security、Spring Batch 等 Spring 项目自然衔接;由于应用以包含内嵌 Web 服务器的单个可执行 JAR 交付,也很适合容器和云平台。Actuator 提供健康检查、指标等运维功能。
入门时,先安装 JDK,在 Spring Initializr(start.spring.io)上生成带有 web 依赖的项目,然后跟着官方指南 Building a RESTful Web Service 动手实践。接着理解依赖注入和自动配置的原理,再逐步学习 Spring Data JPA 和测试支持。官方参考文档详细介绍了每项功能和配置属性。
根据类路径中的库和你的设置,自动配置 Web 服务器、数据源、JSON 转换等 Bean;如果你自己定义了同类 Bean,则以你的为准。
按 Web、数据访问、安全、测试等功能提供经过验证的依赖组合,无需自己摸索相互兼容的库版本。
Tomcat 等 Web 服务器运行在应用内部,一个 JAR 即可用 java -jar 启动,也可以直接构建成容器镜像。
Actuator 提供健康、指标和环境信息端点,外部化配置和 Profile 让各环境的设置井然有序。
Spring Boot 运行在 JVM 上,因此需要 JDK。支持的 Java 版本请查看官方文档中的系统要求,建议使用最新的 LTS 版本。Gradle 和 Maven 由项目自带的包装器下载,无需另行安装。
java -version从 Spring Initializr 下载带有 web 依赖的项目。使用 start.spring.io 网页或 IntelliJ IDEA、VS Code 的新建项目向导,结果相同。
curl https://start.spring.io/starter.zip -d dependencies=web -d baseDir=demo -o demo.zip && unzip demo.zip用 Gradle 包装器运行应用后,内嵌 Web 服务器会在 8080 端口等待请求。Maven 项目请使用 ./mvnw spring-boot:run,Windows 上请使用 gradlew.bat bootRun。
cd demo && ./gradlew bootRun@SpringBootApplication 标记应用入口,并启用自动配置和组件扫描;main 方法中的 SpringApplication.run 会启动应用及其内嵌 Web 服务器。该类同时是一个 @RestController,并通过 @GetMapping 映射了路径,因此运行 ./gradlew bootRun 后,在浏览器中打开 http://localhost:8080/ 即可看到 Hello, World!。
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "Hello, World!";
}
}
./gradlew bootRun共六章,带你从安装一步步了解 Spring Boot 的核心概念。
在这里提问、分享经验,交流关于 Spring Boot 的看法。
还没有讨论。来发起第一个吧。
0 条评论
登录 · 登录后即可发表评论。
来发表第一条评论吧。