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

相关推荐
笃励13 分钟前
Java面试题二
java·开发语言·python
易雪寒31 分钟前
IDEA在git提交时添加忽略文件
java·git·intellij-idea
青云交1 小时前
大数据新视界 --大数据大厂之 Kafka 性能优化的进阶之道:应对海量数据的高效传输
大数据·数据库·人工智能·性能优化·kafka·数据压缩·分区策略·磁盘 i/o
Sarapines Programmer1 小时前
【Sqlite】sqlite内部函数sqlite3_value_text特性
数据库·sqlite·数据转换·科学计数法
打码人的日常分享1 小时前
企业人力资源管理,人事档案管理,绩效考核,五险一金,招聘培训,薪酬管理一体化管理系统(源码)
java·数据库·python·需求分析·规格说明书
27669582921 小时前
京东e卡滑块 分析
java·javascript·python·node.js·go·滑块·京东
爱写代码的刚子1 小时前
C++知识总结
java·开发语言·c++
冷琴19961 小时前
基于java+springboot的酒店预定网站、酒店客房管理系统
java·开发语言·spring boot
好好学习的人1 小时前
SQL第12课——联结表
数据库·sql
程序员古德1 小时前
系统架构设计师论文《论NoSQL数据库技术及其应用》精选试读
数据库·nosql