Spring Boot 开发环境搭建及示例应用

发布于:2024-11-27 ⋅ 阅读:(89) ⋅ 点赞:(0)

1. 准备开发工具

安装 JDK

确保你的系统上已经安装了 JDK。可以通过以下命令检查是否已安装以及版本信息:

java -version

如果没有安装,可以从 Oracle 官网或其他可靠来源下载并安装。

安装 IDE

推荐使用 IntelliJ IDEA 或 Eclipse。这里以 IntelliJ IDEA 为例。

安装 Maven

如果你选择 Maven 作为构建工具,确保已经安装并配置好了 Maven。可以通过以下命令检查 Maven 是否已安装:

mvn -v

2. 创建 Spring Boot 项目

使用 Spring Initializr 创建项目
  1. 访问 Spring Initializr
  2. 填写项目信息:
    • Project: Maven Project
    • Language: Java
    • Spring Boot: 选择最新稳定版
    • Group: com.example
    • Artifact: demo
    • Name: demo
    • Description: Demo project for Spring Boot
    • Package name: com.example.demo
    • Packaging: Jar
    • Java: 11
  3. 添加依赖:
    • Spring Web
    • Spring Data JPA
    • H2 Database (内存数据库,用于测试)
  4. 点击 “Generate” 下载项目压缩包,解压到本地工作目录。
导入项目到 IDE
  1. 打开 IntelliJ IDEA。
  2. 选择 “File” -> “New” -> “Project from Existing Sources…”。
  3. 导航到解压后的项目目录,选择 pom.xml 文件,点击 “OK”。
  4. 按照提示完成项目的导入。

3. 编写代码

主类

src/main/java/com/example/demo 目录下,你会看到一个主类文件 DemoApplication.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);
    }

}
创建控制器

src/main/java/com/example/demo 目录下创建一个新的包 controller,并在其中创建一个控制器类 HelloController.java

package com.example.demo.controller;

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!";
    }

}
创建实体类

src/main/java/com/example/demo 目录下创建一个新的包 entity,并在其中创建一个实体类 User.java

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;
    }

}
创建仓库接口

src/main/java/com/example/demo 目录下创建一个新的包 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> {
}
创建服务类

src/main/java/com/example/demo 目录下创建一个新的包 service,并在其中创建一个服务类 UserService.java

package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public List<User> findAllUsers() {
        return userRepository.findAll();
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }

}
创建控制器

src/main/java/com/example/demo/controller 目录下创建一个控制器类 UserController.java

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
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 UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.findAllUsers();
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

}

4. 配置文件

src/main/resources 目录下编辑 application.properties 文件,配置 H2 数据库:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

5. 运行应用程序

在 IntelliJ IDEA 中,右键点击 DemoApplication.java 文件中的 main 方法,选择 “Run ‘DemoApplication.main()’”。

6. 测试应用程序

打开浏览器,访问以下 URL:

  • http://localhost:8080/hello 应该返回 “Hello, Spring Boot!”
  • http://localhost:8080/users 应该返回一个空列表(因为还没有用户)
  • 使用 Postman 或其他工具发送 POST 请求到 http://localhost:8080/users,请求体如下:
{
  "name": "John Doe",
  "email": "john@example.com"
}

再次访问 http://localhost:8080/users,应该能看到新增的用户。

7. 调试与优化

  • 日志配置:可以在 application.properties 中配置日志级别,例如:

    logging.level.root=WARN
    logging.level.org.springframework.web=DEBUG
    
  • 性能监控:可以使用 Actuator 模块来监控应用的健康状况和性能指标。在 pom.xml 中添加依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    

8. 部署应用

打包应用:

mvn clean package

运行生成的 JAR 文件:

java -jar target/demo-0.0.1-SNAPSHOT.jar

以上就是一个完整的 Spring Boot 应用程序从创建到运行的详细步骤。希望对你有所帮助!如果有任何问题或需要进一步的帮助,请随时提问。


网站公告

今日签到

点亮在社区的每一天
去签到