1. SpringBoot中配置文件的优先级?
优先级由低到高为:
● application.yaml
● application.yml
● application.properties
● Java系统属性(-Dxxxx=xxxx)
● 命令行参数(--xxxx=xxxx)
2. SpringBoot中配置端口有哪些方式,优先级是怎样的?从低到高
SpringBoot中配置文件的优先级?
properties>yml>yaml
SpringBoot中配置端口有哪些方式,优先级是怎样的?
命令行>系统配置>properties>yml>yaml
--server.port=10010>
-Dserver.port=9000>
server.port=8080>
server:
port: 8081>
server:
port: 8082
能够说出bean的两种常见的作用域及如何设置作用域?
singleton(默认),容器内同 id 的 bean 只有一个实例(单例)
prototype每次使用该 bean 时会创建新的实例(非单例)
配合 @Scope 注解来进行配置:
怎么使用@Bean注解来管理第三方bean
用@Bean
如果要管理的第三方 bean 比较多,建议对这些bean进行集中分类配置,可以通过 @Configuration 注解声明一个配置类。
@Conditional注解和@Import注解的作用是什么?
@Conditional:按照一定的条件进行判断,需要声明的Bean.
在满足给定条件后才会注册到Spring IOC容器中。
@Import:@Import注解用于导入一些Bean 和 配置类到IOC容器中。
简要的说出springboot自动配置的原理?
当SpringBoot 程序启动时,引导类上 @SpringBootApplication 注解生效,
该注解由三个注解组成,SpringBoot程序在启动时会自动加载
META-INF/spring.factorieMETINF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports` 文件
,并导入其中定义的所有配置类。由于这些配置类上都加了Condition条件注解,
所有不会将所有Bean 加载到IOC容器中,只有满足条件的Bean才会加载。