SpringBoot的基础应用

SpringBoot基础应用

SpringBoot特征

什么是SpringBoot

SpringBoot是一种全新框架,其设计目的是用来简化Spring 应用的创建、运行、调试、部署等。使用SpringBoot 可以做到专注于 Spring 应用的开发,而无需过多关注XML的配置。SpringBoot使用“约定优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用 SpringBoot 可以不用或者只需要很少的 Spring 配置就可以让企业项目快速运行起来。

特征

  • 将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的 Maven 或 Gradle 构建中
  • 使编码变得简单,SpringBoot 采用 JavaConfig 的方式对 Spring 进行配置,并提供了大量的注解,极大的提高了工作效率
  • 自动配置,利用了 Spring 对条件化配置的支持,合理地推测应用所需 bean 并自动化配置他们
  • 使部署变得简单,内置三种 Servlet 容器,只需要一个 Java 的运行环境就可以跑 SpringBoot 的项目了。

SpringBoot热部署

在通过引入 spring-boot devtools 插件的情况下,可以实现不重启服务器,对项目进行即时编译

添加依赖

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>

原理

在编辑器启动项目并改动相关的代码,则编辑器自动触发编译,替换旧的 .class 文件后,项目检测到有文件变更后会重启 spring-boot 项目。内部主要是通过引入的插件对我们的 classpath 资源变化进行监听,当其变化时,才会触发重启

且有两种类加载器,对第三方 jar 包采用 baseclassloader 来加载,而对开发人员开发的代码则使用 restartclassloader 来进行加载,重启时只需要重启开发人员编写的代码部分即可

排除资源

默认情况下,改变资源 /META-INF/maven , /META-INF/resources , /resources , /static , /public ,或 /templates 不触发重新启动,但确会触发现场重装。如果要自定义这些排除项,则可以使用该 spring.devtools.restart.exclude 属性。例如,仅排除 /static , /public 在 application.properties 设置以下属性。

spring.devtools.restart.exclude=static/,public/,config/**

配置文件优先级

  1. /config/application.properties
  2. /application.properties
  3. /src/main/resources/config/application.properties
  4. /src/main/resources/application.properties

自定义 application.properties 配置文件注入 IOC 容器

1
2
3
4
@Component
// 要被作为 bean 组件放到 Spring 容器内才能被 @ConfigurationProperties 注解进行赋值
@ConfigurationProperties(prefix = "xxx")
// 将配置文件中以 xxx 开头的属性值通过 setXXX () 方法注入到实体类对应的属性中

SpringBoot的基础应用
http://yjh-2860674406.github.io/2023/07/09/编程/SSM/SpringBoot/基础应用/
Author
Ye JinHua
Posted on
July 9, 2023
Licensed under