魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Library - Maven - SpringBoot 2

文章摘要: spring boot 是一个快速整合框架,利用自动配置原理简化各种配置,比如SSM配置。

重要

前置条件

  • ^ Java 8
  • Spring Framework 5

相关信息

外部相关文章

内部相关文章

  • SpringBoot 2 官方Starter:Library-Maven-SpringBoot2-官方启动器(Starter)
  • SpringBoot 2 注解:Library-Maven-SpringBoot2-注解

简介

简化配置

  • Spring Boot通过提供一系列的“starter”依赖项来简化配置。
  • 这些starters包含了开发特定类型应用所需的所有Spring和相关库的依赖。
  • 例如,spring-boot-starter-web包含了创建Web应用程序所需的所有依赖。
  • 开发者无需手动添加和管理大量的依赖项。
  • Spring Boot 中包含了大量的 starter 启动器,启动器根据使用场景来分类,定义了当前项目使用的所有依赖坐标和版本号,管理依赖关系,整合成一个新的依赖,统一管理,称之为启动器。spring-boot-starter-<场景>。

独立运行

  • Spring Boot应用可以打包成一个独立的Java可执行jar包,这个jar包包含了应用的所有依赖项以及嵌入的Web服务器(如Tomcat)。
  • 可以通过java -jar命令直接运行你的应用程序,无需部署到外部的应用服务器。

自动配置

  • Spring Boot 的自动配置功能会根据添加到项目中的jar依赖自动配置 Spring 框架。
  • 例如,如果类路径下存在HSQLDB,并且没有手动配置任何数据库连接 beans,Spring Boot会自动配置内存数据库。
  • 自动配置是通过@EnableAutoConfiguration注解启用的,它会尝试根据添加的jar依赖推断出你想如何配置 Spring。

生产就绪特性

  • Spring Boot 提供了一系列有助于生产环境的应用特性,如应用监控、度量、健康检查和安全管理。
  • 例如,它提供了actuator模块,该模块可以通过HTTP或JMX端点暴露应用程序的内部状态,这对于运维人员监控和管理应用程序非常有用。

无代码生成和XML配置

  • Spring Boot 提倡使用Java配置来代替传统的XML配置文件。
  • 通过使用@Configuration和@Bean注解,实现以Java代码的方式配置 Spring 容器。
  • 无需编写和维护XML配置文件,减少了配置的复杂性。

微服务支持

  • Spring Boot非常适合构建微服务架构中的独立服务。
  • 它的轻量级和易于部署的特性使得它成为微服务开发的首选框架。
  • 结合 Spring Cloud 之后,Spring Boot 可以提供完整的微服务解决方案,包括服务发现、配置管理、负载均衡等。
  • 方便构建微服务架构,支持Spring Cloud。

Maven坐标

<!-- 继承父级项目 -->
<parent> <!-- 引入并继承spring boot提供的父级pom.xml -->
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version></version> <!-- 请自行查找合适版本 -->
</parent>

环境搭建

引导类,在pom.xml中通过<parent></parent>引入springboot的父级项目。解决依赖版本统一管理。

启动器

配置类

Spring Boot 支持基于 Java 的配置。尽管可以将 SpringApplication 与 XML 源一起使用,但我们通常建议主源是单个 @Configuration 类。通常,定义 main 方法的类是主@Configuration的不错候选者。

配置和自动配置原理

配置文件

application.properties配置文件

  • 配置文件名称必须是:application.properties
  • 存储位置在:scr/main/resources

设置基本信息

# 端口号
server.port=8080

# 项目虚拟路径(web项目名)
server.servlet.context-path=/agent

# 设置懒加载
spring.main.lazy-initialization=true

文件上传

  servlet:
    multipart:
      max-file-size: 100MB     # 每个文件大小最大限制
      max-request-size: 200MB  # 每次传输文件大小最大限制

自定义SpringApplication

后台命令行启动图标

在resources目录下创建banner的图片,或者创建一个banner.txt的文本文件,就能在启动时显示一个以字符构成的图标。

配置文件优先级

文件格式

  • yml > yaml > properties配置文件。

文件位置

配置文件位置说明优先级
classpath:/资源根路径最低
classpath:/config/*/资源根路径下的config目录
classpath:/config/资源根路径下的config目录
file:./项目根路径
file:./config/*/
file:./config/项目根路径下的config目录
java -jar <项目名>.jar --spring.config.location=<配置文件位置>命令行指定文件最大

Profile文件的加载

对于应用程序来说,不同的环境需要不同的配置。

外部配置文件读取

springboot启动器的概念

autoconfiguration启动器

启动器的作用:实现模块化和依赖封装

打包成jar包

自定义启动器

有默认的配置文件,写在META-INF目录下、 写个类去读取默认的配置文件,构建spring.factories

  1. 创建一个模块(父子工程)
  2. 编写配置文件、配置验证码的一些默认信息
  3. 写一下实体类,映射配置信息,来存储读取出来的配置信息
  4. 写业务,写验证码的工具类
  5. 创建配置类,将验证码工具类加入到ioc容器中

热部署

  • 实现在修改代码或配置文件后,能够不需要每次重启使修改生效。

开启热部署

  1. 引入依赖
<dependency> <!--devtools热部署-->
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <optional>true</optional>
</dependency>

日志

java日志体系

Web开发

集成MyBatis

启动原理源码

自定义starters

集成中间件

整合第三方技术的方式

  • 导入对应的starter
  • 根据提供的配置格式,配置非默认值对应的配置项。

IOC容器

AOP面向切面编程

提供了面向切面编程的实现,允许开发者通过分离横切关注点来增加模块化。

在面向对象编程(OOP)中,我们通常通过封装、继承和多态来提高代码的模块化,但有些横切关注点(如日志、事务管理和安全)往往跨越多个模块,这可能导致代码分散和重复。AOP就是为了解决这类问题而设计的。

Spring AOP主要用于处理Spring管理的beans,它不如AspectJ强大,AspectJ是另一种更为通用的AOP实现,它能够处理非Spring托管的类,甚至可以在编译时进行织入。

Resoures资源

Web MVC

Web Clients

定时任务

缓存

spring底层核心原理

spring的Bean生命周期

spring的依赖注入

spring的启动过程

spring的配置类

spring的整合第三方依赖

spring的AOP

spring的事务

博主提示

总结

  • 建议将springboot的启动类/配置类,放置在外层,这样在自动扫描包路径时能将全部的对象进行扫描,进行添加bean对象。

更多参考资料请参考:Spring Cloud Alibaba,阿里巴巴提供的教学文档。

更新时间: 2025/11/16 17:17