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新版本相对较慢,使用时需要关注兼容性。

相关推荐
清水白石00813 分钟前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
资生算法程序员_畅想家_剑魔15 分钟前
Mysql常见报错解决分享-01-Invalid escape character in string.
数据库·mysql
一嘴一个橘子21 分钟前
spring-aop 的 基础使用 - 4 - 环绕通知 @Around
java
小毅&Nora37 分钟前
【Java线程安全实战】⑨ CompletableFuture的高级用法:从基础到高阶,结合虚拟线程
java·线程安全·虚拟线程
冰冰菜的扣jio37 分钟前
Redis缓存中三大问题——穿透、击穿、雪崩
java·redis·缓存
PyHaVolask41 分钟前
SQL注入漏洞原理
数据库·sql
小璐猪头1 小时前
专为 Spring Boot 设计的 Elasticsearch 日志收集 Starter
java
ptc学习者1 小时前
黑格尔时代后崩解的辩证法
数据库
代码游侠1 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
ps酷教程1 小时前
HttpPostRequestDecoder源码浅析
java·http·netty