likes
comments
collection
share

Spring Boot入门指南(案例篇)Spring Boot是一个开源的Java基础框架,它使得创建独立的、生产级别的

作者站长头像
站长
· 阅读数 33

Spring Boot入门指南(案例篇)Spring Boot是一个开源的Java基础框架,它使得创建独立的、生产级别的 Spring Boot是一个开源的Java基础框架,它使得创建独立的、生产级别的Spring应用变得更容易。它“跑起来”即可用,内嵌了Tomcat、Jetty等Servlet容器,无需部署WAR文件,也无需单独的Servlet容器。

环境准备

在开始之前,请确保你的开发环境中安装了以下软件:

  • Java Development Kit (JDK) 8 或更高版本
  • Maven 3.0 或更高版本
  • 一个文本编辑器或IDE(如IntelliJ IDEA或Eclipse)
  • Git

创建Spring Boot项目

我们可以通过Spring Initializr快速生成一个Spring Boot项目的基础结构。

  1. 访问 Spring Initializr
  2. 选择生成Maven项目,选择Java语言
  3. 指定项目元数据(Group, Artifact, Name, Description)
  4. 添加依赖(Dependencies),我们至少需要Spring Web依赖
  5. 点击“Generate”生成项目,下载并解压

项目架构图

Spring Boot入门指南(案例篇)Spring Boot是一个开源的Java基础框架,它使得创建独立的、生产级别的 图展示了Spring Boot应用的基本架构,包括启动类、控制器、服务、仓库和实体类,以及它们之间的关系。

项目结构

解压后的项目结构大致如下:

my-application/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── myapplication/
│   │   │               ├── MyApplication.java
│   │   │               └── controller/
│   │   │                   └── HelloController.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── static/
│   │           └── index.html
├── pom.xml
└── README.md

编写Hello World应用

1. 启动类

com.example.myapplication包中创建一个启动类MyApplication.java

package com.example.myapplication;

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

@SpringBootApplication // 标注这是一个Spring Boot应用
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args); // 启动应用
    }
}

2. 控制器

com.example.myapplication.controller包中创建一个控制器类HelloController.java

package com.example.myapplication.controller;

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

@RestController // 标注这是一个REST控制器
public class HelloController {

    @GetMapping("/hello") // 映射GET请求到/hello
    public String sayHello() {
        return "Hello, World!"; // 返回字符串
    }
}

3. 运行应用

在项目根目录下运行以下命令来启动应用:

mvn spring-boot:run

应用启动后,访问http://localhost:8080/hello,你将看到输出Hello, World!

案例:Todo应用

1. 添加依赖

pom.xml中添加以下依赖:

<dependencies>
    <!-- Spring Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- Spring Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- H2 Database -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

2. 实体类

创建Todo实体类:

package com.example.myapplication.model;

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

@Entity // 标注这是一个JPA实体
public class Todo {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String description;
    private boolean completed;

    // 构造函数、getter和setter省略
}

3. 仓库接口

创建TodoRepository接口:

package com.example.myapplication.repository;

import com.example.myapplication.model.Todo;
import org.springframework.data.repository.CrudRepository;

public interface TodoRepository extends CrudRepository<Todo, Long> {
}

4. 服务类

创建TodoService服务类:

package com.example.myapplication.service;

import com.example.myapplication.model.Todo;
import com.example.myapplication.repository.TodoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class TodoService {

    @Autowired
    private TodoRepository todoRepository;

    public List<Todo> getAllTodos() {
        return todoRepository.findAll();
    }

    public Todo addTodo(Todo todo) {
        return todoRepository.save(todo);
    }

    // 其他方法省略
}

5. 控制器

更新HelloControllerTodoController

package com.example.myapplication.controller;

import com.example.myapplication.model.Todo;
import com.example.myapplication.service.TodoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/todos")
public class TodoController {

    @Autowired
    private TodoService todoService;

    @GetMapping
    public List<Todo> getAllTodos() {
        return todoService.getAllTodos();
    }

    @PostMapping
    public Todo addTodo(@RequestBody Todo todo) {
        return todoService.addTodo(todo);
    }

    // 其他方法省略
}

6. 运行应用

运行应用后,你可以使用Postman或curl来测试API:

  • 获取所有Todo:GET http://localhost:8080/todos
  • 添加Todo:POST http://localhost:8080/todos,请求体为JSON格式的Todo对象。

总结

Spring Boot简化了Spring应用的创建和配置,使得开发者可以专注于业务逻辑。通过本文,你已经学会了如何创建一个简单的Spring Boot应用,并了解了一个Todo应用的实现。希望这能帮助你快速上手Spring Boot。

转载自:https://juejin.cn/post/7421522242339258380
评论
请登录