Spring Boot面试题总结

 更新时间:2019年09月18日 13:47:14   作者:天瑕  
这篇文章主要介绍了Spring Boot面试题总结,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

1 Spring Boot的配置文件格式

application.properties或者是application.yml,它们的区别主要是书写格式不同。

1).properties:

springboot.user.name = testname

2).yml:

springboot:
  user:
    name: testname

另外,.properties格式文件的属性是无序的,.yml 格式文件的属性是有序的,但它不支持@PropertySource注解导入配置。

2 Spring Boot的核心注解

启动类上面的注解是@SpringBootApplication,它也是Spring Boot的核心注解,主要组合包含了以下3个注解:

@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。

@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。

@ComponentScan:Spring组件扫描。

3 开启Spring Boot特性的方式

1)继承spring-boot-starter-parent项目

2)导入spring-boot-dependencies项目依赖

4 运行Spring Boot的方式

1)直接执行main方法运行

2)用Maven / Gradle插件运行

3)打成jar包,通过java -jar命令直接运行

5 Spring Boot读取配置的方式

Spring Boot可以通过@PropertySource,@Value,@Environment,@ConfigurationProperties来绑定变量。

6 Spring Boot中的监视器

Spring Boot actuator是Spring启动框架中的重要功能之一。Spring Boot监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。例如创建了什么bean、控制器中的映射、CPU 使用情况等等。然后可以将自动收集和审计健康状况(health)以及指标(metric)到您的应用程序中。

7 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

8 spring-boot-maven-plugin

spring-boot-maven-plugin提供了一些像jar一样打包或者运行应用程序的命令。

run:运行你的Spring Boot应用程序。

repackage:重新打包你的jar包或者是war包使其可执行

start和stop:管理Spring Boot应用程序的生命周期,也可以说是为了集成测试。

build-info:生成执行器可以使用的构造信息。

9 使用配置文件通过Spring Boot配置特定环境的配置

比方说现在有两个配置文件application-dev.propertiesapplication-prod.properties。在application.properties中使用 spring.profiles.active=prod即可加载application-prod.properties配置文件的配置。

10 如何禁用一个特定自动配置类

@SpringBootApplication(exclude= {Order.class})
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
@EnableAutoConfiguration(excludeName={Foo.class})

11 Spring Boot工厂模式的加载

Spring Framework内部使用一种工厂加载机制(Factory Loading Mechanism)。这种机制使用SpringFactoriesLoader完成,SpringFactoriesLoader使用loadFactories方法加载并实例化从META-INF目录里的spring.factories文件出来的工厂,这些spring.factories文件都是从classpath里的jar包里找出来的。

总结

以上所述是小编给大家介绍的Spring Boot面试题总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 详解Spring的@Value作用与使用场景

    详解Spring的@Value作用与使用场景

    这篇文章主要介绍了详解Spring的@Value作用与使用场景,Spring为大家提供许多开箱即用的功能,@Value就是一个极其常用的功能,它能将配置信息注入到bean中去,需要的朋友可以参考下
    2023-05-05
  • Java泛型通配符的使用详解

    Java泛型通配符的使用详解

    本文主要介绍了Java泛型通配符的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • springboot实现配置两个parent的方法

    springboot实现配置两个parent的方法

    这篇文章主要介绍了springboot实现配置两个parent的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Springboot Filter中注入bean无效为null问题

    Springboot Filter中注入bean无效为null问题

    这篇文章主要介绍了Springboot Filter中注入bean无效为null问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 浅谈Java多线程实现及同步互斥通讯

    浅谈Java多线程实现及同步互斥通讯

    下面小编就为大家带来一篇浅谈Java多线程实现及同步互斥通讯。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Spring中的Sentinel熔断降级原理详解

    Spring中的Sentinel熔断降级原理详解

    这篇文章主要介绍了Spring中的Sentinel熔断降级原理详解,熔断是为了起到保护作用,如果某个目标服务调用比较慢或者大量的超时,这个时候如果触发熔断机制,则可以保证后续的请求不会继续发送到目标服务上,而是直接返回降级的逻辑并且快速释放资源,需要的朋友可以参考下
    2023-09-09
  • Springboot Logback日志多文件输出方式(按日期和大小分割)

    Springboot Logback日志多文件输出方式(按日期和大小分割)

    这篇文章主要介绍了Springboot Logback日志多文件输出方式(按日期和大小分割),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java中通用的线程池实例代码

    java中通用的线程池实例代码

    java中通用的线程池实例代码,需要的朋友可以参考一下
    2013-03-03
  • JavaWeb响应下载功能实例代码(包含工具类)

    JavaWeb响应下载功能实例代码(包含工具类)

    今天通过本文给大家分享的是关于javaweb的响应(response)下载功能,需要的朋友参考下吧
    2017-07-07
  • Java字节与字符流永久存储json数据

    Java字节与字符流永久存储json数据

    本篇文章给大家详细讲述了Java字节与字符流永久存储json数据的方法,以及代码分享,有兴趣的参考学习下。
    2018-02-02

最新评论