SpringBoot
1.什么是SpringBoot?
一个快速开发、部署的框架。相对于之前的ssm的话提供了一些优化和新增了一些功能。
优化:
1.简化配置,比方说组件扫描、事务的开启、AOP的配置、静态资源都可以通过注解或者配置文件简化。
2.通过starter解决jar包版本冲突的问题,对pom中jar包的引入更加简化。
3.简化了部署,内置服务器,直接打成jar包用命令运行,以前打成war包放到服务器中。
新增:
1.自动配置功能,将引入的jar包自动配置成bean。
2.监控管理,对bean、requestmapping、请求次数等的监控。
3.热部署。
2.SpringBoot自动配置的原理?
启动类上面有一个复合注解@SpringBootApplication,里面包含@EnableAutoConfiguration注解,该注解上有个@Import({AutoConfigurationImportSelector.class}),这个类可以扫描pom中由starter引入的jar包下
MATEINFO/spring.factories文件中的自动配置类,然后将自动配置类注入到spring容器中。自动配置类上面有个@EnableConfigurationProperties指定的配置类,通过@ConfigurationProperties获取.yml或者.properties中的属性
来配置配置类。
例子:
3.actuator监控管理是什么?
actuator可以监控管理springBoot应用,包括应用中所有bean的名字、RequestMapping对应的请求url,对应用的请求次数等。
4.springboot的热部署?
通过专门的类加载器来加载修改过后的类实现快速热部署。
需要引入spring-boot-devtools包。
5.starter的作用?常用的starter有哪些?
解决jar包冲突,对bean的引入的简化,比方说redis,mq,mybatis等。
6.springboot中配置文件的类型application.properties和bootstrap.yml的区别?
1.bootstrap.yml的优先级高于application.properties。
2.bootstrap.yml的层次更分明,很容易出现空格获取不到值。