Spring Boot面试题总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30342639/article/details/94619947

目录

1 Spring Boot的配置文件格式

2 Spring Boot的核心注解

3 开启Spring Boot特性的方式

4 运行Spring Boot的方式

5 Spring Boot读取配置的方式

6 Spring Boot中的监视器

7 Spring Boot自动配置的原理 

8 spring-boot-maven-plugin

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

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

11 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。

  1. Spring Boot 在启动时扫描项目所依赖的JAR包,寻找包含spring.factories文件的JAR

  2. 根据spring.factories配置加载AutoConfigure类

  3. 根据@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配置文件的配置。


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包里找出来的。

展开阅读全文

没有更多推荐了,返回首页