为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot框架入门教程:从零开始搭建第一个应用

标签:
SpringBoot
概述

本文介绍了如何从零开始搭建一个Spring Boot框架的应用,涵盖了环境搭建、项目创建、依赖管理、自动配置以及运行监控等关键步骤,提供了详细的步骤和示例代码,帮助读者快速掌握Spring Boot框架的基本概念和使用方法。

Spring Boot框架入门教程:从零开始搭建第一个应用
Spring Boot简介

Spring Boot是什么

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是简化新 Spring 应用的初始搭建以及开发过程。Spring Boot 使用约定优于配置的思想来简化 Spring 应用的配置,并且提供一系列快速实用的功能,从而使得开发人员能够快速搭建一个独立运行的、生产级别的应用。

Spring Boot的优点

  1. 快速开发:Spring Boot 最大的特点就是不需要大量的配置,它可以帮开发者做出很多决定,使应用快速启动和运行。
  2. 生产就绪:开发人员可以使用 Spring Boot 创建一个真正的生产级别的应用,它提供了多种实用的功能,如内嵌容器、监控、自动重启、安全等。
  3. 约定优于配置:Spring Boot 使用约定优于配置的思想,通过约定来减少配置,而不是描述所有可能的配置选项。通过约定,Spring Boot 可以自动配置应用。
  4. 自动配置:Spring Boot 可以根据应用的依赖和类路径上的内容自动配置 Spring 应用。
  5. 无需 XML 配置:传统 Spring 配置主要通过 XML 文件,而 Spring Boot 使用 Java 配置,使得代码更简洁,可读性更强。

Spring Boot与传统Spring的区别

特性 Spring Boot 传统Spring
配置文件 使用 application.properties 文件,简化配置,不需要编写大量 XML 或 Java 配置 需要编写大量 XML 或 Java 配置文件
依赖管理 自动管理依赖,提供 starter 依赖,简化项目依赖管理 需要手动管理依赖
内嵌容器 内置 Tomcat、Jetty 或 Undertow 容器,无需外部安装 需要额外安装 Tomcat、Jetty 或 Undertow
生产就绪 提供多种实用功能,如监控、日志、热部署、安全等 需要手动配置这些功能
开发环境搭建

安装Java开发环境

为了开发 Spring Boot 应用,首先需要安装 Java 开发环境。以下是安装步骤:

  1. 下载 Java JDK
    访问 Oracle 官方网站OpenJDK 官方网站 下载 Java JDK。

  2. 安装 Java JDK
    根据操作系统不同,有不同的安装方式,通常只需按照安装向导进行即可。

  3. 设置环境变量
    需要将 JDK 的安装目录添加到系统环境变量中。

    export JAVA_HOME=/path/to/java
    export PATH=$JAVA_HOME/bin:$PATH

使用IDEA配置Spring Boot项目

  1. 安装 IDEA
    访问 JetBrains 官方网站 下载并安装 IntelliJ IDEA。

  2. 创建新项目

    • 打开 IDEA,选择 File -> New -> Project
    • 在弹出的窗口中选择 Spring Initializr
    • 输入项目相关信息,如 GroupArtifactVersionNamePackage Name
    • 选择 JavaSpring Boot 版本。
    • 选择要使用的依赖,如 WebJPAThymeleaf 等。
    • 点击 Finish 完成项目创建。
  3. 配置 IDEA
    • 确保 IDEA 已经配置了 MavenGradle 插件。
    • 在 IDEA 中打开 File -> Settings -> Plugins,确保安装了 MavenGradle 插件。

Maven和Gradle简介及其在Spring Boot中的应用

Maven 是一个项目管理和构建工具,它通过一个 XML 文件 pom.xml 来管理项目的依赖和构建过程。Spring Boot 项目通常使用 Maven 来管理依赖和构建应用。

Gradle 是一个基于 Groovy 语言的构建工具,它使用一个 build.gradle 文件来管理项目的依赖和构建过程。Gradle 的构建脚本更灵活,可以编写成 Groovy 脚本,但通常使用较少。

在 Spring Boot 中,Maven 和 Gradle 都可以用来管理项目依赖,并且可以使用 Spring Boot 的 starter 依赖简化配置。以下是使用 Maven 和 Gradle 创建 Spring Boot 项目的示例。

Maven 示例

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.0.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Gradle 示例

plugins {
    id 'org.springframework.boot' version '2.3.0.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
}
第一个Spring Boot应用

创建Spring Boot项目

  1. 创建项目
    使用 IDEA 创建一个新的 Spring Boot 项目,选择 Spring Initializr,填写项目信息,选择 Web 依赖。

  2. 项目结构
    项目结构通常包含以下部分:
    • src/main/java:Java 源代码目录。
    • src/main/resources:资源文件目录,如配置文件 application.properties
    • src/test/java:测试代码目录。
    • pom.xmlbuild.gradle:构建配置文件。

执行第一个Spring Boot应用

  1. 创建主类
    src/main/java 目录下创建一个主类,通常命名为 ApplicationDemoApplication,并继承自 SpringBootApplication 类。

    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);
       }
    }
  2. 运行主类
    右键点击主类,选择 Run 'DemoApplication.main()',启动 Spring Boot 应用。

  3. 访问应用
    应用启动后,默认会在控制台输出应用端口号,例如 Local Server: http://localhost:8080,可以通过浏览器访问该地址。

探索项目结构

Spring Boot 项目的结构通常如下:

  1. src/main/java

    • 包含应用的主要 Java 类,如主类 DemoApplication
    • 可以创建更多的包来组织类,如 controllerservicerepository 等。
  2. src/main/resources

    • 包含应用的资源文件,如配置文件 application.properties
    • 还可以包含静态资源文件,如 HTML、CSS、JavaScript,以及模板文件等。
  3. src/test/java

    • 包含测试代码,用于测试应用的功能。
  4. pom.xmlbuild.gradle
    • 构建配置文件,用于管理依赖和构建过程。
Spring Boot核心功能介绍

自动配置

Spring Boot 通过约定优于配置的思想,自动配置应用。开发者只需引入相关的 starter 依赖,Spring Boot 会根据应用的依赖和类路径上的内容自动配置应用。

例如,引入 spring-boot-starter-web 依赖,Spring Boot 会自动配置 Spring MVC 和内嵌的 Tomcat 容器。

<!-- 使用 Maven 管理依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

配置文件使用

Spring Boot 的配置文件主要有两种:application.propertiesapplication.yml。它们用于配置应用的属性,如端口号、数据库连接信息等。

示例:application.properties

# 配置应用端口号
server.port=8080

# 配置数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=root

依赖管理和插件

依赖管理

Spring Boot 提供了多个 starter 依赖,每个 starter 描述了一系列相关的依赖。例如,spring-boot-starter-web 包含了 Spring MVC 和内嵌的 Tomcat 容器所需的依赖。

插件管理

对于 Maven 和 Gradle,Spring Boot 提供了插件来简化构建和打包过程。例如,spring-boot-maven-pluginspring-boot-gradle-plugin 可以用来打包和启动应用。

示例:使用 Maven 插件打包

mvn clean package

打包后的 JAR 文件可以在任意环境中运行,只需要运行:

java -jar target/demo-0.0.1-SNAPSHOT.jar
构建RESTful服务

创建REST控制器

在 Spring Boot 中,可以使用 @RestController 注解来创建 REST 控制器。

示例:创建REST控制器

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

使用Spring MVC处理HTTP请求

Spring MVC 是 Spring 框架的一部分,用于构建 Web 应用。在 Spring Boot 中,可以使用注解来处理 HTTP 请求,如 @GetMapping@PostMapping 等。

示例:处理GET请求

@GetMapping("/user")
public User getUser() {
    return new User("John", "Doe");
}

示例:处理POST请求

@PostMapping("/user")
public String createUser(@RequestBody User user) {
    return "User created: " + user.getName();
}

数据绑定与转换

Spring Boot 使用 @RequestParam@PathVariable@RequestBody 等注解来绑定请求参数。同时,Spring 提供了 @ModelAttribute 注解来绑定表单数据。

示例:使用@RequestParam绑定参数

@GetMapping("/search")
public String search(@RequestParam String query) {
    return "Search result for: " + query;
}
Spring Boot应用部署

打包与发布Spring Boot应用

Spring Boot 应用可以使用 Maven 或 Gradle 来打包成一个独立的可执行 JAR 文件。如下是使用 Maven 打包的示例:

mvn clean package

打包后的 JAR 文件可以在任意环境中运行,只需要运行:

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

应用的启动与运行监控

Spring Boot 应用可以使用 Spring Boot Actuator 来提供运行时监控和管理功能。例如,可以监控应用的健康状况、查看应用的依赖树等。

示例:启用监控功能

  1. 添加依赖:

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
  2. 启动应用后,访问 http://localhost:8080/actuator 查看监控信息。

环境变量与配置

Spring Boot 支持使用环境变量来配置应用属性。例如,可以在 application.properties 中使用 ${} 来引用环境变量。

示例:使用环境变量

server.port=${PORT:8080}

上述配置表示如果环境变量 PORT 存在,则使用其值作为端口号,否则使用默认值 8080

总结

本教程介绍了如何从零开始搭建一个 Spring Boot 应用,并提供了详细的步骤和示例代码。通过本教程的学习,读者可以掌握 Spring Boot 的基本概念和使用方法,从而快速开发和部署一个生产级别的应用。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消