SpringBoot

1. 概述

SpingBoot是一个为了简化Spring应用开发而设计的轻量级框架,通过简化Spring应用程序的创建和部署过程,使得开发者可以快速搭建和部署Spring应用程序,同时保持Spring框架的灵活性和强大的功能,通过集成了大量框架解决依赖包版本冲突和引用不稳定问题(通过付工程来指定依赖版本)

2. 特点

  1. 快速创建基于 Spring 的应用程序: Spring Boot 旨在简化 Spring 应用的初始搭建和开发过程。它通过自动配置和起步依赖,使得创建一个可运行的 Spring 应用变得非常快捷。

  2. Maven 和 Gradle 插件: Spring Boot 提供了 Maven 和 Gradle 的插件,这些插件支持创建可执行的 JAR 和 WAR 文件。这使得部署变得非常简单,因为应用程序及其所有依赖都被打包在一个单一的文件中。

  3. 内嵌 Servlet 容器: Spring Boot 内嵌了如 Tomcat 或 Jetty 这样的 Servlet 容器,这意味着你不需要单独部署 WAR 文件到外部的 Servlet 容器中,可以直接运行 JAR 文件。

  4. 自动配置机制: 自动配置是 Spring Boot 的核心特性之一,它根据添加的依赖自动配置 Spring 应用。这大大减少了传统 Spring 应用中需要的大量 XML 配置。

  5. 集成多种第三方库: Spring Boot 通过起步依赖集成了多种第三方库,并且指定了这些库的版本,从而解决了依赖包版本冲突的问题。

  6. 关注业务逻辑: 由于 Spring Boot 减少了配置的复杂性,开发者可以更加专注于编写业务逻辑代码,而不是配置。

  7. 提供准备好的特性: Spring Boot Actuator 提供了应用程序的监控和管理特性,如指标、健康检查和外部化配置。

  8. 注解配置: Spring Boot 推崇使用注解来进行配置,而不是 XML 配置文件。这使得代码更加简洁,易于理解和维护。

  9. 起步依赖简化 Maven 配置 : 起步依赖(Starters)是 Spring Boot 提供的一组预定义的依赖描述符,它们定义了对其他库的传递依赖。通过在 Maven 的 pom.xml 文件中引入一个起步依赖,可以简化构建配置,确保依赖的一致性。

3. 快速开始

2.1 创建方式一

使用官网GUI配置,选择对应依赖,下载生成的代码

  • 官网地址:https://start.spring.io

    SNAPSHOT:快照版,也就是开发版

    M: 里程碑版本,表示该版本较之前版本有功能上的重大更新

    Release:最终版本

  • 点击GENERATE按钮,生成项目框架文件,解压后,就得到了一个SpringBoot项目文件

3.2 创建方式二

直接在IDEA中创建SpringBoot项目

  • 打开IDEA,新建项目,选择Spring Initializr

  • 填写项目基本信息

  • 勾选web选项中的SpringWEB

  • 确认信息无误后,点击完成即可新建一个SpringBoot项目

  • SpringBoot项目创建完成

  • 开发Controller

    复制代码
    @RestController
    public class HelloController {
    ​
        @GetMapping("/hello")
        public String hello() {
            return "Hello SpringBoot!!!";
        }
    }
  • 访问结果

3.3 项目目录结构

  • SpringbootDemoApplication

    Spring Boot项目的启动类

  • application.properties

    Spring Boot项目的配置文件 ,文件名字必须叫application,文件类型也可以是yml

  • pom.xml

    打开一个新建的SpringBoot项目后,可以在pom文件中看见如下配置:

    与之前创建的Maven项目不同的是,在SpringBoot项目的pom文件中,多了一个父工程的配置信息,

    由此看出,每个SpringBoot项目都会依赖一个父工程 ,这个父工程就是:spring-boot-starter-parent

    我们可以进入到依赖的父工程的pom文件中,看到如下配置:

    在观察这个父工程的pom文件中发现,这个配置文件依旧依赖了另一个父工程,另一个父工程是:spring-boot-dependencies

    我们再次进入到另一个父工程的pom文件中,看到如下配置:

    配置文件中整体分为三大类:当前项目信息、依赖管理信息、构建管理信息


    pom中包含创建项目时选择的依赖,Spring Boot项目默认继承于spring-boot-starter-parent

    spring-boot-starter-parent继承于spring-boot-dependencies

    spring-boot-dependencies中主要是确定市面常用技术的版本,从而使子项目不需要考虑各个框架间的版本兼容问题。

    Spring Boot的依赖通常为两种格式:

    • spring-boot-starter-xxx

      Spring Boot官方提供的依赖,无缝兼容,配置简单

    • xxx- spring-boot-starter

      由框架/技术团队提供的依赖,适配Spring Boot新版本相对较慢,使用时需要关注兼容性。

相关推荐
耀耀_很无聊3 小时前
第1章 初识SpringMVC
java·spring·mvc
麻衣带我去上学3 小时前
Spring源码学习(一):Spring初始化入口
java·学习·spring
东阳马生架构3 小时前
MySQL底层概述—1.InnoDB内存结构
java·数据库·mysql
standxy4 小时前
通过轻易云平台实现聚水潭数据高效集成到MySQL的技术方案
android·数据库·mysql
itwangyang5204 小时前
2025 - 科研神器 - 批量处理 PDF、SVG、PNG 和 JPG 文件,将它们转换为彩色 TIFF 文件,并保存到指定的 tiff 文件夹中
数据库·pdf
手握风云-4 小时前
数据结构(Java版)第一期:时间复杂度和空间复杂度
java·数据结构
坊钰4 小时前
【Java 数据结构】时间和空间复杂度
java·开发语言·数据结构·学习·算法
痞老板A小安装C45 小时前
redis的大key和热key问题解决方案
数据库·redis·bootstrap
飞升不如收破烂~5 小时前
Redis的String类型和Java中的String类在底层数据结构上有一些异同点
java·数据结构·redis
feilieren5 小时前
DataGrip 连接 Redis、TongRDS
数据库·redis·缓存