首页 > 其他分享 >Spring Boot 框架知识汇总

Spring Boot 框架知识汇总

时间:2024-07-13 11:54:33浏览次数:11  
标签:SpringBoot application Spring Boot properties 汇总 注解 yml

1、什么是SpringBoot?
通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行"它们。大多数Spring Boot应用程序需要最少的Spring配置,集成了大量常用的第三方库配置,使得这些库在Spring Boot应用中几乎可以零配置地开箱即用。
2、SpringBoot的特征?
◆ 创建独立的Spring应用程序,Spring Boot应用程序可以作为独立的可执行JAR或WAR文件运行,这使得部署和分发变得非常简单。
◆ 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
◆ 提供固化的“starter"依赖项,以简化构建配置
◆ 尽可能自动配置Spring 和3rd Party库
◆ 提供可用于生产的功能,例如指标,运行状况检查和外部化配置
◆ 完全没有代码生成,也不需要XML配置
3、如何快速构建一个SpringBoot项目?
◆ 通过Web界面使用。http://start.spring.io
◆ 通过Spring Tool Suite使用。
◆ 通过IntelliJ IDEA使用。
◆ 使用Spring Boot CLI使用。
4、SpringBoot启动类注解是啥,它是由哪些注解组成?
@SpringBootApplication
这是Spring Boot项目的核心注解,通常放在主类上。它实际上是@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan的组合,也可以用这三个注解来代替 @SpringBootApplication 注解。
◆ @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
◆ @EnableAutoConfiguration: 打开自动配置的功能,也可以关闭某个自动配置的选项。
◆ @ComponentScan:Spring 组件扫描,自动扫描包路径下的 @Component 注解进行注册 bean 实例到 context 中。
5、什么是yaml?
YAML文件格式是Spring Boot支持的一种JSON超集文件格式,以数据为中心,比properties、xml等更适合做配置文件。
YAML(/'iamal/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl。更具有结构性。
◆ yml和xml相比,少了一些结构化的代码,使数据更直接,一目了然
◆ 相比properties文件更简洁
◆ yaml文件的扩展名可以使用.yml或者.yaml。
◆ application.yml文件使用 “key:(空格)value”格式配置属性,使用缩进控制层级关系。

spring:
  profiles:
    active: test
swagger:
  production: false
  basic:
    enable: false
    username: jeecg
    password: jeecg1314

6、SpringBoot 支持配置文件的格式
(1) properties
java.microservice.name=leishi
(2) yml
java :
microservice:
name:leishi
7、SpringBoot启动方式?
◆ main方法
◆ 命令行 java -jar 的方式
◆ mvn/gradle
8、application.properties 和 application.yml 文件可放位置及优先级
1).外置,在相对于应用程序运行目录的/config子目录里。
2). 外置,在应用程序运行的目录里。
3). 内置,在config包内。
4). 内置,在Classpath根目录。
这个列表按照优先级排序,优先级高的会覆盖优先级低的。
当然我们可以自己指定文件的位置来加载配置文件,如

java -jar xiaoka.jar-spring.config.location=/home/application.yml

如果是2.4.0之前版本,优先级properties>yaml;但是如果是2.4.0的版本,优先级yaml>properties。
9、bootstrap.yml 和 application.yml
bootstrap.yml 优先于application.yml
10、SpringBoot如何修改端口号?
除了在配置文件 yml 和properties 中修改 server.port 的值外,还可以启动时用命令修改:
命令1:

java -iar leishi.jar --server.port=8080

命令2:

java-Dserver.port=8080 -jar leishi.jar

11、SpringBoot 配置监控

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

12、针对请求访问的几个组合注解?
◆ @PatchMapping
◆ @PostMMapping
◆ @GetMMapping
◆ @PutMapping
◆ @DeleteMMapping
13、SpringBoot 中的 starter
可以理解成对依赖的一种合成,starter会把一个或一套功能相关依赖都包含进来,避免了自己去依赖费事,还有各种包的冲突问题。大大的提升了开发效率。
并且相关配置会有一个默认值,如果我们自己去配置,就会覆盖默认值。
14、SpringBoot 集成 Mybatis
mybatis-spring-boot-starter
15、不同的环境的配置文件
可以是 application-{profle}.properties/yml,但默认是启动主配置文件application.properties,一般来说我们的不同环境配置如下。
◆ application.properties:主配置文件
◆ application-dev.properties:开发环境配置文件
◆ application-test.properties:测试环境配置文件
◆ application.prop-properties:生产环境配置文件
16、如何激活某个环境的配置?
比如我们激活开发环境。
(1) yml 文件配置:

spring:
    profiles:
        active: dev

(2) properties 文件配置:

spring.profiles.active=dev

(3) 命令行:

java -jar leishi-v1.0.jar.--spring.profiles.active=dev

17、编写测试用例的注解
@SpringBootTest
18、SpringBoot 异常处理相关注解
◆ @ControllerAdvice
ControllerAdvice是Spring框架中的一个注解,用于增强Controller的功能。它可以应用于整个应用程序中的所有Controller,或者通过指定包或注解来应用于特定的Controller。这个注解主要用于全局处理一些共通的操作或处理,例如全局异常处理、全局数据绑定、全局数据预处理等。
它通常注解在类上
◆ @ExceptionHandler
它注解在具体的异常方法上,例如

// 你还可以为特定的异常类型定义处理方法
@ExceptionHandler(value = CustomException.class)
public ResponseEntity<Object> handleCustomException(CustomException ex) {
        return new ResponseEntity<>("自定义异常:" + ex.getMessage(), HttpStatus.BAD_REQUEST);
}

19、SpringBoot 读取配置相关注解有
◆ @PropertySource
◆ @Value
◆ @Environment
◆ @ConfigurationProperties

标签:SpringBoot,application,Spring,Boot,properties,汇总,注解,yml
From: https://blog.csdn.net/qq_39964887/article/details/140387451

相关文章

  • 黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录 Day4
    你好,我是Qiuner.为帮助别人少走弯路和记录自己编程学习过程而写博客这是我的githubhttps://github.com/Qiuner⭐️giteehttps://gitee.com/Qiuner......
  • 前端大屏适配方案汇总
    ......
  • 基于java+springboot+vue实现的作业管理系统(文末源码+Lw)110
    基于SpringBoot+Vue的实现的作业管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)功能描述:作业管理系统有管理员,教师,学生三个角色。教师和学生都可以进行注册然后再登录。学生可以修改自己的密码,查看和下载作业信息,并且可以提交自己写好的作业,并且可以......
  • 基于java+springboot+vue实现的新闻稿件管理系统(文末源码+Lw)109
     基于SpringBoot+Vue的实现的新闻稿件管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:新闻稿件管理系统管理员功能有个人中心,用户管理,记者管理,审批员管理,新闻分类管理,新闻信息管理,系统管理等。记者发布新闻信息,审批员进行审核,用户进行查看。因......
  • 免费分享一套SpringBoot+Vue农产品在线销售(在线商城)管理系统【论文+源码+SQL脚本】,
    大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue农产品在线销售(在线商城)管理系统,分享下哈。项目介绍如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统......
  • 基于java+springboot+vue实现的在线试题库系统(文末源码+Lw)108
     基于SpringBoot+Vue的实现的在线试题库系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包) 系统功能:精品在线试题库系统有管理员,教师,学生三个角色。管理员功能有个人中心,专业管理,学生管理,教师管理,试卷管理,试题管理,考试管理。教师可以管理试题和试卷,查看学生......
  • 0170-Multiboot2 启动头
    环境Time2022-11-11WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/目标编写一个符合multiboot2规范的启动文件。multiboot2规范https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html#Header-tag......
  • 0175-GDB 调试 multiboot 启动
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/目标使用编写好的内核可执行文件,直接从QEMU启动,启动时暂停CPU,使用GDB调试。汇编代码section.multiboot_headerheader_start:dd0x1BAD......
  • Vue打包文件dist放在SpringBoot项目下运行(正确实现全过程)
    项目开发中,一般我们都会使用SpringBoot+Vue进行前后端开发。在部署时,会后端启动一个服务,再启动一个nginx,nginx中配置前端打包文件dist进行项目访问。实际上,我们也可以把打包好的dist目录放在SpringBoot项目下进行部署。将dist包放入resources下配置拦截器@Configuration......
  • 基于springboot的医院资源管理系统,附源码+数据库+论文,包远程安装调试
    1、项目介绍互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用医院资源管理系统可以有效管理,使信息......