Java知识复习(十)Spring Boot

1、什么是Spring Boot

  • Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,使开发者能快速上手。

2、Spring Boot有哪些优点

  • 容易上手,提升开发效率,为 Spring 开发提供一个更快、更简单的开发框架。
  • 开箱即用,远离繁琐的配置。
  • 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。
  • SpringBoot总结就是使编码变简单、配置变简单、部署变简单、监控变简单等等

3、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

  • 启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要包含以下几个注解
  • @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
  • @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,例如:java 如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
  • @ComponentScan:Spring组件扫描。

4、SpringBoot Starter的工作原理

  • 在sprinBoot启动时由@SpringBootApplication注解会自动去maven中读取每个starter中的spring.factories文件,该文件里配置了所有需要被创建spring容器中的bean,并且进行自动配置把bean注入SpringContext中 //(SpringContext是Spring的配置文件)
  • 简单理解就是:SpringBoot就是由各种Starter组合起来的,我们自己也可以开发Starter

5、SpringBoot 实现热部署

  • 热部署就是可以不用重新运行SpringBoot项目可以实现操作后台代码自动更新到以运行的项目中
  • 主要通过Spring Loaded和Spring-boot-devtools实现

6、SpringBoot自动配置的原理是什么?

  • 主要是Spring Boot的启动类上的核心注解SpringBootApplication注解主配置类,有了这个主配置类启动时就会为SpringBoot开启一个@EnableAutoConfiguration注解自动配置功能
  • 通过@EnableAutoConfiguration注解在类路径的META-INF/spring.factories文件中找到所有的对应配置类,然后将这些自动配置类加载到spring容器中。

7、SpringBoot加载配置的方式

  • 1.properties文件;
  • 2.YAML文件;
  • 3.系统环境变量;
  • 4.命令行参数;

8、什么是YAML?

  • YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML 文件就更加结构化,而且更少混淆。可以看出 YAML 具有分层配置数据

9、SpringBoot的核心配置文件是什么?

  • bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加载的,比 applicaton 优先加载,配置在应用程序上下文的引导阶段生效。一般来说我们在 Spring Cloud 配置就会使用这个文件。且 boostrap 里面的属性不能被覆盖;
  • application (. yml 或者 . properties): 由ApplicatonContext 加载,用于 spring boot 项目的自动化配置

10、SpringSecurity和Shiro的区别

  • Spring Security 是一个重量级的安全管理框架;Shiro 则是一个轻量级的安全管理框架
  • Spring Security 概念复杂,配置繁琐;Shiro 概念简单、配置简单
  • Spring Security 功能强大;Shiro 功能简单

11、SpringBoot打成的jar包和普通的jar有什么区别

  • Spring Boot 项目最终打包成的 jar 是可执行 jar ,这种 jar 可以直接通过 java -jar xxx.jar 命令来运行,这种 jar 不可以作为普通的 jar 被其他项目依赖,即使依赖了也无法使用其中的类
  • Spring Boot 的 jar 无法被其他项目依赖,主要还是他和普通 jar 的结构不同。普通的 jar 包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码,因此无法被直接引用。如果非要引用,可以在 pom.xml 文件中增加配置,将 Spring Boot 项目打包成两个 jar ,一个可执行,一个可引用

12、SpringBoot的启动流程

  • 加载Spring Boot框架:Spring Boot的启动依赖于Spring框架,首先需要加载SpringBoot和Spring框架的各种配置文件和类库。
  • 扫描和加载应用程序配置:SpringBoot会扫描应用程序的配置文件和注解,例如application.properties或application.yml等,根据其中的配置信息加载应用程序所需要的各种组件和服务。
  • 自动配置Spring应用程序:SpringBoot使用自动配置机制,根据应用程序的配置信息和依赖关系,自动配置应用程序所需要的各种组件和服务,例如Web服务器、数据库连接池、日志系统等。
  • 启动Spring应用程序:SpringBoot会启动Spring应用程序上下文,包括ApplicationContext和Servlet容器等,通过加载和初始化各种组件和服务,准备好应用程序的运行环境。
  • 运行Spring应用程序:Spring Boot启动后,应用程序就可以开始运行,监听来自客户端的请求,响应请求,并返回结果。

参考

  • https://blog.csdn.net/weixin_43122090/article/details/105463864
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值