在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Spring Boot框架可以简化Spring开发,并且监护spring应用开发。从本质上来说,Spring Boot就是Spring。程序员在Java的面试中,也会常常遇到关于Spring Boot的面试题,因此本文整理了一些这方面的经典知识点,有需求的小伙伴可以复习一下。

一、Spring Boot的配置文件格式。
application.properties或者是application.yml,它们的区别主要是书写格式不同。
1.properties:
springboot.user.name = testname
2.yml:
springboot:
user:
name: testname
另外,.properties格式文件的属性是无序的,.yml 格式文件的属性是有序的,但它不支持@PropertySource注解导入配置。
二、Spring Boot的核心注解
启动类上面的注解是@SpringBootApplication,它也是Spring Boot的核心注解,主要组合包含了以下3个注解:
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。
三、开启Spring Boot特性的方式
1.继承spring-boot-starter-parent项目
2.导入spring-boot-dependencies项目依赖
四、运行Spring Boot的方式
1.直接执行main方法运行
2.用Maven / Gradle插件运行
3.打成jar包,通过java -jar命令直接运行
五、Spring Boot读取配置的方式
Spring Boot可以通过@PropertySource,@Value,@Environment,@ConfigurationProperties来绑定变量。
六、Spring Boot中的监视器
Spring Boot actuator是Spring启动框架中的重要功能之一。Spring Boot监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。例如创建了什么bean、控制器中的映射、CPU 使用情况等等。然后可以将自动收集和审计健康状况(health)以及指标(metric)到您的应用程序中。
七、Spring Boot自动配置的原理?
在Spring程序main方法中 添加@SpringBootApplication或者@EnableAutoConfiguration。会自动去maven中读取每个starter中的spring.factories文件,该文件里配置了所有需要被创建spring容器中的bean。
Spring Boot 在启动时扫描项目所依赖的JAR包,寻找包含spring.factories文件的JAR
根据spring.factories配置加载AutoConfigure类
根据@Conditional注解的条件,进行自动配置并将Bean注入Spring Context
八、spring-boot-maven-plugin
spring-boot-maven-plugin提供了一些像jar一样打包或者运行应用程序的命令。
run:运行你的Spring Boot应用程序。
repackage:重新打包你的jar包或者是war包使其可执行
start和stop:管理Spring Boot应用程序的生命周期,也可以说是为了集成测试。
build-info:生成执行器可以使用的构造信息。
九、使用配置文件通过Spring Boot配置特定环境的配置
比方说现在有两个配置文件application-dev.properties和application-prod.properties。在application.properties中使用spring.profiles.active=prod即可加载application-prod.properties配置文件的配置。
十、如何禁用一个特定自动配置类
@SpringBootApplication(exclude= {Order.class})
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
@EnableAutoConfiguration(excludeName={Foo.class})
十一、Spring Boot工厂模式的加载
Spring Framework内部使用一种工厂加载机制(Factory Loading Mechanism)。这种机制使用SpringFactoriesLoader完成,SpringFactoriesLoader使用loadFactories方法加载并实例化从META-INF目录里的spring.factories文件出来的工厂,这些spring.factories文件都是从classpath里的jar包里找出来的。
以上就是Java程序员必看的Spring Boot框架面试题。大家都会了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java开发工程师面试准备
Java开发工程师面试准备,首先找一个好模板,可以参考一些优秀简历,借鉴优质的内容,将自身的优势展示出来,做好面试前的准备,不要平时很认真工作,面试前因为没有时间准备充分而吃亏。除此之外还要在专业技能Java开发方便做功夫。
10420
2019-04-24 19:54:48
2019年Java开发程序员的就业前景怎么样?
2019年Java开发程序员的就业前景怎么样?Java就业前景分析,Java发展方向大致分为两类:一是成为管理人员,例如产品研发经理,技术经理,项目经理等;二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。Java人才社会需求量大,根据IDC的统计数字,在所有软件开发类人才的需求中,对Java工程师的需求达倒全部需求量的60%~70%。
10660
2019-05-09 12:18:30
【Java面试题】如何保障同一资源被多个线程并发方位时的完整性?
作为技术岗,进入一家企业不但要经历面试,还会有一些笔试题目。通过整理发现“如何保障同一资源被多个线程并发方位时的完整性?”是被提问次数比较多的问题。今天就和大家一起来学习一下这个面试题的解决方案。
8525
2019-06-12 17:39:36
TLAB线程本地分配缓存区是什么?TLAB工作原理分析
TLAB线程本地分配缓存区是什么?工作原理分析,TLAB全称Thread Local Allocation Buffer,即线程本地分配缓存区,是一个线程专用的内存分配区域。在线程初始化时,虚拟机会为每个线程分配一块TLAB空间,只给当前线程使用。
11645
2020-03-17 15:26:25
Spring Cloud Alibaba微服务架构学什么?为什么要学?
为什么要学Spring Cloud Alibaba?Spring Cloud Alibaba本身也是Spring Cloud的子项目是其中的一部分。 如果使用的是第一代(eureka, hystrix, zuul),在2020之后有必要把这些组件替换掉的。在业界已经广泛使用.springcloud中有部分组件不维护了。
7833
2020-06-16 10:52:42
