Spring Boot初识:Web和数据库交互

Spring Boot是一个用于简化Spring应用程序开发的框架,通过约定优于配置帮助开发者快速上手,并能够轻松地创建独立的、生产级的Spring应用程序。本文将简要介绍如何使用Spring Boot进行Web应用开发和数据库交互。

项目环境搭建

首先,确保你已经安装了Java JDK和Maven。接下来,可以通过Spring Initializr(https://start.spring.io/)来生成一个项目。选择以下依赖:

  • Spring Web
  • Spring Data JPA
  • H2 Database(我们将使用H2作为内存数据库进行演示)

生成项目后,下载并解压,然后在IDE中打开。

目录结构

项目结构大致如下:

src
 └── main
     ├── java
     │   └── com
     │       └── example
     │           └── demo
     │               ├── DemoApplication.java
     │               ├── controller
     │               │   └── UserController.java
     │               ├── entity
     │               │   └── User.java
     │               └── repository
     │                   └── UserRepository.java
     └── resources
         └── application.properties

创建实体类

entity包中创建一个用户实体类User.java,它将映射到数据库中的user表。

package com.example.demo.entity;

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;
    private String email;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

创建仓库接口

repository包中创建一个接口UserRepository.java,它将扮演数据访问层的角色。

package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

创建控制器

controller包中创建UserController.java,用于处理HTTP请求。

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

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

    @Autowired
    private UserRepository userRepository;

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

    @PostMapping
    public ResponseEntity<User> createUser(@RequestBody User user) {
        User savedUser = userRepository.save(user);
        return new ResponseEntity<>(savedUser, HttpStatus.CREATED);
    }
}

配置数据库

application.properties中配置H2数据库:

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=password
spring.jpa.hibernate.ddl-auto=update

运行Spring Boot应用

在IDE中运行主应用类DemoApplication.java,启动Spring Boot应用。默认情况下,该应用将在8080端口运行。

测试接口

你可以使用Postman或者浏览器来测试API接口。

  1. GET /users:获取所有用户的列表。
  2. POST /users:添加一个用户,例如发送以下JSON数据:
{
    "name": "Alice",
    "email": "alice@example.com"
}

当你成功添加用户后,可以通过GET /users来查看新增的用户。

总结

本文展示了如何使用Spring Boot构建一个简单的Web应用,并与数据库进行交互。我们创建了一个用户实体类、用户数据访问层和RESTful控制器,并实现了基本的CRUD功能。Spring Boot的生态系统庞大且强大,还有许多功能等待探索。通过这个示例,希望能够帮助你快速上手Spring Boot的开发。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部