Spring Boot入门

引言

Spring Boot 是一个用于简化 Spring 应用程序开发的框架,旨在让开发者能够快速上手,减少繁琐的配置。它提供了开箱即用的功能,并且可以轻松集成各种 Spring 生态系统的项目。本文将带您快速入门 Spring Boot,帮助您建立第一个 Spring Boot 应用程序。

1. 环境准备

1.1 工具安装

  • JDK:确保安装了 JDK 1.8 及以上版本。
  • IDE:推荐使用 IntelliJ IDEA 或 Eclipse,可以方便地管理项目和依赖。
  • Maven:Spring Boot 项目通常使用 Maven 作为构建工具,确保安装 Maven。

1.2 创建项目

可以通过 Spring Initializr 在线生成 Spring Boot 项目,选择以下配置:

  • Project: Maven Project
  • Language: Java
  • Spring Boot: 选择最新的稳定版本
  • Project Metadata: 填写 Group 和 Artifact(如:com.example 和 demo)
  • Dependencies: 添加 Web、JPA 和 H2 数据库等依赖

点击"Generate"按钮下载生成的项目压缩包,并解压到本地。

2. 项目结构

解压后打开项目,您会看到以下主要目录结构:

txt

复制代码
demo
 ├── src
 │   ├── main
 │   │   ├── java
 │   │   │   └── com
 │   │   │       └── example
 │   │   │           └── demo
 │   │   │               └── DemoApplication.java
 │   │   └── resources
 │   │       ├── application.properties
 │   └── test
 └── pom.xml
  • DemoApplication.java:应用程序的入口点。
  • application.properties:应用程序的配置文件。
  • pom.xml:Maven 项目的配置文件,定义了项目依赖。

3. 编写第一个 RESTful API

3.1 创建 Controller

com.example.demo 包中创建一个新的 Java 类 HelloController

java

复制代码
package com.example.demo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

3.2 启动应用

DemoApplication.java 中,应用程序的主类如下:

java

复制代码
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

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

3.3 运行应用

在 IDE 中运行 DemoApplication 类,或者在命令行中执行以下命令:

复制代码
mvn spring-boot:run

应用启动后,打开浏览器访问 http://localhost:8080/hello,您将看到输出:

复制代码
Hello, Spring Boot!

4. 配置数据库

4.1 添加依赖

pom.xml 中添加 H2 数据库的依赖:

xml

复制代码
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

4.2 配置数据库

application.properties 中添加以下配置:

properties

复制代码
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update

4.3 创建实体类和 Repository

创建一个简单的实体类 User 和对应的 Repository:

java

复制代码
package com.example.demo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

    // Getters and Setters
}

创建 UserRepository 接口:

java

复制代码
package com.example.demo;

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository {
}

4.4 创建用户控制器

添加一个新的控制器 UserController 来处理用户请求:

java

复制代码
package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping
    public List getAllUsers() {
        return userRepository.findAll();
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userRepository.save(user);
    }
}

5. 测试 API

您可以使用 Postman 或 curl 测试 API:

  1. 获取所有用户:

    curl http://localhost:8080/users

  2. 创建新用户:

bash

复制代码
curl -X POST -H "Content-Type: application/json" -d '{"name":"John Doe"}' http://localhost:8080/users

6. 结论

通过以上步骤,您已经成功创建了一个简单的 Spring Boot 应用程序,并实现了 RESTful API。Spring Boot 的魅力在于其简化了配置和开发的复杂性,使得开发者能够快速构建高效的应用程序。

相关推荐
脉动数据行情15 小时前
Java SpringBoot 国际期货批量采集实践 美原油 / 黄金 / 指数期货定时落库
java·开发语言·spring boot
Zzzzmo_6 小时前
SpringBoot 日志
java·spring boot·spring
计算机毕设定制辅导-无忧学长7 小时前
《基于SpringBoot的家政服务管理平台的设计与实现》
java·vue.js·spring boot·计算机毕业设计选题推荐·家政服务管理平台
xiaoqiMikko7 小时前
pom 里没有、代码里没调过,但 WebClient 默认用的就是 netty-resolver-dns
java·spring boot
xixingzhe27 小时前
spring boot对接Dify
java·spring boot·dify
步行cgn7 小时前
Spring Boot 指定数据来源详解
spring boot·后端·python
一个有温度的技术博主8 小时前
深入理解 Spring Boot 自动装配
java·spring boot·后端
步行cgn9 小时前
Spring Boot 将配置绑定到第三方对象详解
spring boot·后端·python
凤山老林9 小时前
Spring Boot 集成 Apache Kafka Streams 构建流处理应用:状态存储、窗口聚合与
spring boot·kafka·apache
Flynt21 小时前
把公司项目迁到 Spring Boot 4.0:编译通过只是开始
java·spring boot·后端