当前位置: 首页 > article >正文

Spring Boot 入门指南

Spring Boot 入门指南

Spring Boot 是一个基于 Spring 框架的开源项目,旨在简化 Spring 应用程序的开发和部署过程。通过提供约定优于配置的方式,Spring Boot 使得开发者可以快速构建独立的、生产级的应用。以下是详细的入门步骤和核心概念。


1. 环境准备

1.1. 安装 JDK 确保你已经安装了 Java JDK 8 或更高版本。可以通过以下命令检查 JDK 是否安装:

java -version

1.2. 选择 IDE 推荐使用以下集成开发环境(IDE):

  • IntelliJ IDEA:强大的 Java 开发工具,支持 Spring Boot。

  • Eclipse:经典的 Java IDE,使用 Spring Tool Suite(STS)插件。

  • **Spring Tool Suite (STS)**:专为 Spring 设计的 Eclipse 变体。

1.3. 安装构建工具 Spring Boot 支持两种构建工具:Maven 和 Gradle。根据你的习惯选择其中一种。

  • Maven:Maven 下载

  • Gradle:Gradle 下载


2. 创建 Spring Boot 项目

可以通过多种方式创建 Spring Boot 项目,最常用的是使用 Spring Initializr。

2.1. 使用 Spring Initializr 创建项目

  1. 访问 Spring Initializr。

  2. 选择以下选项:
    • Project:选择 Maven Project 或 Gradle Project。

    • Language:选择 Java。

    • Spring Boot:选择最新稳定版本。

    • Project Metadata
      • Group:如 com.example

      • Artifact:如 demo

      • Name:如 demo

      • Package Name:如 com.example.demo

      • Packaging:选择 Jar。

      • Java Version:选择与本地 JDK 相同的版本。

  3. Dependencies:根据需求添加依赖,比如:
    • Spring Web:构建 RESTful 应用。

    • Spring Data JPA:数据库操作。

    • H2 Database:内存数据库,适合测试。

  4. 点击“Generate”按钮下载生成的 ZIP 文件,解压并在 IDE 中打开。


3. 项目结构

一个典型的 Spring Boot 项目结构如下:

demo
└── src
    └── main
        ├── java
        │   └── com
        │       └── example
        │           └── demo
        │               ├── DemoApplication.java
        │               └── controller
        │                   └── HelloController.java
        └── resources
            ├── application.properties
4. 编写基本应用

4.1. 创建主类

DemoApplication.java 是应用的入口类,包含 main 方法。

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);
    }
}
  • @SpringBootApplication 注解是一个组合注解,包含 @Configuration@EnableAutoConfiguration@ComponentScan,用于启用 Spring Boot 的自动配置。

4.2. 创建控制器

创建一个简单的控制器 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!";
    }
}
  • @RestController 表示这个类是一个控制器,返回的内容将直接写入 HTTP 响应体。

  • @GetMapping("/hello") 定义了一个处理 GET 请求的路由。


5. 配置文件

Spring Boot 默认使用 application.properties 作为配置文件,位于 src/main/resources 目录下。

基本配置示例:

# 修改默认端口
server.port=8081

# 设置应用名称
spring.application.name=DemoApplication

# 日志级别
logging.level.root=INFO

6. 运行应用

在 IDE 中右键点击 DemoApplication 类并选择运行,或者使用 Maven/Gradle 命令行工具:

  • Maven

mvn spring-boot:run
  • Gradle

./gradlew bootRun

访问 http://localhost:8081/hello 应该能看到 "Hello, Spring Boot!" 的响应。


7. 常用依赖和功能

在创建应用时,可以根据需求添加不同的依赖。以下是一些常用依赖及其功能:

  • Spring Web:构建 RESTful 服务和 Web 应用。

  • Spring Data JPA:简化与数据库的交互,使用 JPA 进行数据访问。

  • Spring Security:提供安全性控制,如身份验证和授权。

  • Thymeleaf:用于构建 Web 页面模板。

  • Spring Boot Actuator:提供监控和管理功能。

可以在 pom.xml(Maven)或 build.gradle(Gradle)中添加这些依赖。

Maven 示例:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

Gradle 示例:

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.h2database:h2'

8. 使用 Spring Data JPA

8.1. 创建实体类

package com.example.demo.model;

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
}

8.2. 创建 Repository 接口

package com.example.demo.repository;

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

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

8.3. 创建控制器处理 CRUD 操作

package com.example.demo.controller;

import com.example.demo.model.User;
import com.example.demo.repository.UserRepository;
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<User> getAllUsers() {
        return userRepository.findAll();
    }

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

总结

Spring Boot 通过提供约定优于配置的方式,极大地简化了 Spring 应用的开发过程。从创建项目到实现基本功能,Spring Boot 的灵活性和强大功能使得开发者能够快速上手并构建出高质量的应用。继续深入学习 Spring Boot 的特性,如安全、测试和微服务架构,将帮助你在实际开发中更高效地工作。


http://www.kler.cn/news/319830.html

相关文章:

  • C++ 字符串中的第一个唯一字符 - 力扣(LeetCode)
  • linux固定串口别名
  • Java发送Outlook邮件:从设置到发送攻略!
  • Qt 每日面试题 -3
  • mysql学习教程,从入门到精通,SQL FULL JOIN 语句(25)
  • mysql离线脚本安装
  • 【C++算法】哈希表
  • vs2022 程序包管理器控制台中文乱码
  • 100个ChatGPT学术指令—助你高效完成文献综述撰写!
  • 深入理解同步和异步与reactor和proactor模式
  • 【递归】5.leetcode 872 叶子相似的树
  • 南开大学联合同济大学发布最新SOTA Occ OPUS:使用稀疏集进行占据预测,最快实现8帧22FPS
  • 什么是服务器日志,日志有什么作用?
  • 2-103 基于matlab的光电信号下血氧饱和度计算
  • Unity3D URP 内置CSM分帧详解
  • 【渗透测试】-灵当CRM系统-sql注入漏洞复现
  • 传输层协议 —— TCP协议(下篇)
  • Spring IoC DI 之 属性注入
  • BottomNavigationView 添加角标
  • c++开发实战之网络编程(一)
  • 三维重建的几何评价指标
  • 面试算法题精讲:求数组两组数差值和的最大值
  • 只出现一次的数字 II
  • Redis:事务
  • Hive 的窗口函数 详解
  • 代码随想录算法训练营| 454.四数相加II 、 383. 赎金信 、 15. 三数之和 、 18. 四数之和
  • 有威胁的武器武装检测系统源码分享
  • WebGL渲染与创建2D内容
  • 树——数据结构
  • 移动端如何实现智能语音交互