1.什么是SpringBoot?
SpringBoot是Spring开源组织下的子项目,是Sprring组件一站式解决方案,主要简化使用Spring的难度,简化了繁重的配置,提供了各种启动器,是开放者能快速上手。
2.SpringBoot和SpringCloud的区别?
SpringBoot是快速开发的Spring框架,SpringCloud是完整的微服务框架,SpringCloud依赖于SpringBoot。
3.SpringBoot的优点?
Spring Boot 主要有如下优点:
1.容易上手,提升开发效率,为 Spring 开发提供一个更快、更简单的开发框架。
2.开箱即用,远离繁琐的配置。
3.提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监
控、运行状况检查和外部化配置等。
4.SpringBoot总结就是使编码变简单、配置变简单、部署变简单、监控变简单等等
4.运行SpringBoot的几种方式
1.打包用命令或者放到容器中去运行.
2.用Maven/Grade插件运行
3.直接执行main方法运行
5.Async异步调用方法
在SpringBoot中使用异步调用只需要在方法上使用@Async注解即可实现方法的异步调用(注意:需要在启动类加入@EnableAsync使异步调用@Async注解生效。(同步是阻塞模式,异步是非阻塞模式)
6.SpringBoot的自动配置原理
SpringBoot的启动类上的核心注解SpringBootApplication注解主配置类,有了这个主配置类启动时就会为SpringBoot开启一个@EnableAutoConfiguration注解自动配置功能.
- 有了这个EnableAutoConfiguration的话就会:
- 从配置文件META_INF/Spring.factories加载可能用到的自动配置类
- 去重,并将exclude和excludeName属性携带的类排除
- 过滤,将满足条件(@Conditional)的自动配置类返回
7.YAML配置的优势在哪里?
YAML配置与传统的properties配置相比有哪些优势:
1.配置有序,在一些特殊的情况配置有序很关键
2.简洁明了,它还支持数组,数组的元素可以是基本数据类型也可以是对象
3.相比properties配置文件,YAML还有一个缺点,就是不支持@PropertySource注解导入自定义的YAML配置。
8.SpringBoot的核心配置文件是什么?有何区别
1.bootstrap(.yml或者.properties):bootstrap由父ApplicationContext加载的,比application优先加载,配置在应用程序上下文的引导阶段生效,一般来说我们在SpringCloud配置就会使用这个文件,且bootstrap里面的属性不能被覆盖。
2.application(.yml或者.properties):由ApplicationContext加载,用于springboot项目的自动配置。
9.Springboot微服务中如何实现session共享?
在微服务中,一个完整的项目被拆分成多个不相同的独立的服务,各个服务独立部署在不同的服务
器上,各自的 session 被从物理空间上隔离开了,但是经常,我们需要在不同微服务之间共享
session ,常见的方案就是 Spring Session + Redis 来实现 session 共享。将所有微服务的
session 统一保存在 Redis 上,当各个微服务对 session 有相关的读写操作时,都去操作 Redis 上
的 session 。这样就实现了 session 共享,Spring Session 基于 Spring 中的代理过滤器实现,使
得 session 的同步操作对开发人员而言是透明的,非常简便。
10.SpringBoot中如何实现定时任务?
- 在 Spring Boot 中使用定时任务主要有两种不同的方式,一个就是使用 Spring 中的 @Scheduled
注解,另一-个则是使用第三方框架 Quartz。 - 使用 Spring 中的 @Scheduled 的方式主要通过 @Scheduled 注解来实现。