什么是Spring Boot 2.x以及构建Hello World

发布时间:2021-10-19 16:14:10 作者:柒染
来源:亿速云 阅读:124
# 什么是Spring Boot 2.x以及构建Hello World

## 一、Spring Boot 2.x概述

### 1.1 定义与核心特性
Spring Boot是由Pivotal团队开发的基于Spring框架的**约定优于配置**快速开发框架,其2.x版本主要特性包括:
- **自动配置**:根据项目依赖自动配置Spring应用
- **独立运行**:内嵌Tomcat/Jetty等Servlet容器
- **生产就绪**:提供健康检查、指标监控等运维功能
- **简化依赖管理**:通过starter POMs简化Maven/Gradle配置

### 1.2 版本演进
| 版本 | 发布时间 | 重要特性 |
|------|----------|----------|
| 2.0  | 2018.3   | 支持Java 8+,WebFlux响应式编程 |
| 2.4  | 2020.11  | 配置文件处理改进 |
| 2.7  | 2022.5   | 最后一个2.x功能版本 |

## 二、环境准备

### 2.1 系统要求
- JDK 8+(推荐JDK 11)
- Maven 3.3+ 或 Gradle 6.x
- IDE(IntelliJ IDEA/Eclipse STS)

### 2.2 项目初始化
通过[start.spring.io](https://start.spring.io)生成基础项目:
1. 选择Maven/Gradle
2. 添加"Spring Web"依赖
3. 生成并下载ZIP包

或使用命令行:
```bash
curl https://start.spring.io/starter.zip -d dependencies=web -o demo.zip

三、构建Hello World应用

3.1 项目结构

hello-springboot/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/example/demo/
│   │   │       ├── DemoApplication.java
│   │   │       └── HelloController.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── static/
├── pom.xml

3.2 核心代码实现

启动类

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

控制器类

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, Spring Boot 2.x!";
    }
    
    @GetMapping("/greet/{name}")
    public String greet(@PathVariable String name) {
        return String.format("Welcome %s!", name);
    }
}

3.3 配置文件

application.properties基础配置:

# 服务器端口
server.port=8080

# 应用上下文路径
server.servlet.context-path=/api

# 开启Actuator端点
management.endpoints.web.exposure.include=*

四、运行与测试

4.1 启动应用

4.2 测试端点

使用curl或Postman测试:

curl http://localhost:8080/api/hello
# 返回: Hello, Spring Boot 2.x!

curl http://localhost:8080/api/greet/John
# 返回: Welcome John!

4.3 健康检查

Spring Boot Actuator提供的健康端点:

curl http://localhost:8080/api/actuator/health
# 返回: {"status":"UP"}

五、技术原理分析

5.1 自动配置机制

  1. @SpringBootApplication组合了:

    • @Configuration(标记配置类)
    • @EnableAutoConfiguration(启用自动配置)
    • @ComponentScan(组件扫描)
  2. 自动配置过程:

    • 检查classpath中的jar依赖
    • 根据spring.factories加载自动配置类
    • 通过条件注解(如@ConditionalOnClass)判断是否生效

5.2 内嵌容器原理

通过spring-boot-starter-web默认引入Tomcat:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <version>2.7.3</version>
    <scope>compile</scope>
</dependency>

六、扩展实践

6.1 自定义Banner

resources目录下创建banner.txt

  ___  ____  / /____ _/ / / /_  / / / ___/
 / _ \/ __ \/ __/ _ `/ / / __ \/ / / /__ 
/  __/ / / / /_/  __/ / / /_/ / /_/ /___/ 
\___/_/ /_/\__/\___/_/_/_.___/\____/     

6.2 热部署配置

添加devtools依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

七、总结

Spring Boot 2.x通过简化配置和提供开箱即用的功能,极大提升了开发效率。本文演示的Hello World项目虽然简单,但包含了: - 自动配置的核心机制 - RESTful接口开发 - 生产级监控端点 - 自定义配置能力

建议后续深入学习: 1. 数据访问(Spring Data JPA/MyBatis) 2. 安全控制(Spring Security) 3. 消息中间件集成(RabbitMQ/Kafka) 4. 响应式编程(WebFlux)

提示:Spring Boot 3.x已基于Java 17发布,建议新项目直接采用3.x版本 “`

(全文约1050字,实际字数可能因格式略有差异)

推荐阅读:
  1. Spring Boot 2.X 实战教程(4)第一个Spring Boot程序
  2. Spring Boot Hello World的实现代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hello world spring boot

上一篇:如何理解java中的类和object

下一篇:为什么不用Print调试Python

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》