在线客服
扫描二维码
下载博学谷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开发中静态变量和实例变量的区别是什么?在语法定义上的区别:静态变量前要加 static 关键字,而实例变 量前则不加。
6680
2019-05-24 14:16:01
Java程序员必须知道的JVM命令行标志
本文主要和大家分享Java程序员必须知道的JVM命令行标志。帮助大家理解JVM的工作原理:任务分配和垃圾收集、转动线程、打开和关闭文件、中断和/或JIT编译Java字节码等等。希望大家通过这些命令行标志,更好的诊断和调优自己的Java虚拟机性能。
5689
2019-08-09 18:03:43
BAT大厂Java常见面试题分享
马上就要到今年的秋招季节了,不知道大家有没有准备好面试,能不能准确把握面试官的考核点,能否准确理解并说出技术技能的底层原理和应用,能否在面试前猜中考点?如果大家对于面试还没有做好充足的准备,建议大家都来看看博学谷的《BAT 大厂Java常见面试题》课程,相信对大家准备面试,或多或少会有一些帮助。
4107
2020-07-23 15:23:19
刚毕业的Java程序员怎么找工作?
转行人群相对于Java专业的应届生没有工作经验,学历专业没优势,找工作的难度更大一些。而不少培训班的培训内容符合实际企业需求,并进行相应的项目实战练习,能帮到零基础转行软件行业的人,入行互联网行业。由此可见,Java程序员应具备一定的项目实战经验。
2764
2020-12-07 10:39:34
微服务和分布式的区别什么?有什么特点?
微服务设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上也可以是同一个服务器。分布式属于微服务,将模块拆分成一个独立的服务单元通过接口来实现数据的交互。分布式和微服的架构很相似,只是部署的方式不一样而已。
3666
2021-03-10 11:10:50