在线客服
扫描二维码
下载博学谷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框架面试题。大家都会了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
你所了解的数据库优化都有哪些?
数据库其实就是电子化的文件柜,用于储存数据,同时用户可以对数据进行增删改查等操作。在企业应用中,数据库非常重要,所以程序员在面试的时候,经常被提问关于数据库的问题。那当面试官问到你所了解的数据库优化都有哪些,你应该如何回答呢?
11207
2019-08-14 10:19:49
Java程序员的求职面试简历应该怎么写?
Java程序员的求职面试简历应该怎么写?首先要做到信息的完整,比如基本信息、求职意向、工作经历、项目经验这几大简历版块一定得有。然后简历内容要做到简单明了,详略得当。即要求大家简单概括自身与岗位匹配的同时,又要充分展现自己的优势。下面小编详细讲讲怎样准备一份能让自己从众多Java程序员中脱颖而出的简历,希望对大家求职面试有所帮助。
4945
2019-10-30 14:27:33
iHRM实战项目教程课程学什么?
要学习Activiti7工作流引擎、SAAS-HRM系统概述与搭建环境、SAAS-HRM-数据库设计与前端框架、SAAS-HRM系统用户权限设计概述、权限分配与jwt概述、权限分配与jwt概述、JWT的权限控制与Shiro入门、Shiro高级及SaaS-HRM的认证授权等内容。
6400
2019-11-08 10:24:19
Java高级程序员需要学习什么?
Java高级程序员具备的特点,首先Java高级程序员必须具有一定的业务分析和流程意识、性能优化经验,大数据设计处理和功能开发、会语言设计和技能开发、很强的学习能力。具备Java内存模型、GC工作原理\Java classload机制、深入研究过开源项目、设计模式Java内存检测工具等知识。
4973
2020-04-27 14:50:15
做Java程序员有前途吗?能从事什么岗位?
Java应用无处不在,从桌面办公应用到网络数据库等应用,从PC到嵌入式移动平台,从Java小应用程序到架构庞大的J2EE企业级解决方案处处都有Java的身影,大不部分应用使用了Java来开发控制系统和相关软件。
3145
2021-02-03 10:45:59