为什么要用SpringBoot
独立运行:SpringBoot内嵌了Servlet容器,如Tomcat、Jetty等,现在不需要打成War包再丢到容器里面进行运行,SpringBoot只需要打成一个Jar包,所有的依赖包都在这个里面,可以同构命令直接运行。
简化配置:spring-boot-starter-web 启动器自动依赖其他组件,减少maven配置。
自动配置:SpringBoot能够根据当前类路径下的类、jar包来自动配置Bean
无代码生成和XML配置:SpringBoot配置过程中无需代码生成、也不需要配置相关的XML,这一切都是基于条件注解来完成的。
应用监控:SpringBoot 提供一些列端点可以监控服务及应用,做健康检查。
SpringBoot核心注解是哪些,是由什么组成的
启动类上面有 @SpringBootApplication ,包含一下三个注解
@SpringBootConfiguration ,组合了@Configuration,实现配置文件功能
@EnableAutoConfiguration ,打开自动配置注解,可以关闭某些源,如 DataSource。
@ComponentScan,Spring组件扫描。
运行Spring Boot有哪几种方式?
打包用命令或者放到容器中执行
用Maven、Gradle 插件云行
直接执行Main方法云行
如何理解SpringBoot当中的starters
starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,如果你想集成JPA,只要加入spring-boot-starter-data-jpa 启动器依赖就可以了,starter里面包含了许多其他依赖,它们能够快速持续的云行,都是一些管理传递依赖。
SpringBoot官方命名:以spring-boot-starter-XXX
非官方命名:XX-spring-boot-starter
如何在SpringBoot启动的时候运行一些特定代码
需要实现接口 ApplicationRunner
SpringBoot需要独立的容器运行吗
可以不需要,内置Tomcat、Jetty等容器
如何使用SpringBoot实现热部署
Spring Loaded
Spring-Boot-Devtools
如何理解SpringBoot配置加载顺序的
properties文件
yml文件
系统环境变量
命令参数
SpringBoot 核心配置有哪些
核心配置就是 application 和 bootstrap 配置文件
application 主要用于SpringBoot自动配置
bootstrap有一下一些应用场景
使用配置中心时,这个时候需要在bootstrap配置配置中心地址等参数
一些固定不能被覆盖的属性
一些加密解密的场景
SpringBoot 如何实现自动装配的
Starter做为基础,比如我们添加一个 spring-boot-starter-data-redis ,就可以进行使用,这就是SpringBoot的自动装配机制。
我们没用通过XML或者注解的形式把 RedisTemplate 注入到IOC容器当中去,但是依然可以进行使用。
@SpringBootApplication 下面的三个注解:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
@EnableAutoConfiguration -> @AutoConfigurationPackage -> ImportSelector 来实现批量自动装配
@ConfigurationProperties 会把配置文件读取到 ServerProperties 中。