1、描述Spring @Configuration @Bean @ComponentScan @PropertySource @Value注解
@Configuration:等同于spring的xml配置文件,表示开启注解配置,使用java代码可以检查类型安全
@Bean:用bean标注方法,等价于xml中配置bean,交给spring管理
@ComponentsScan:让spring Boot扫描到Configuration类并把它加入到程序上下文
@PropertySource:
- 加载指定的属性文件(*.properties)到 Spring 的 Environment 中。可以配合 @Value 和 @ConfigurationProperties 使用。将配置文件中的属性注入到当前类的属性中
- @PropertySource 和 @Value 组合使用,可以将自定义属性文件中的属性变量值注入到当前类的使用@Value注解的成员变量中。
- @PropertySource 和 @ConfigurationProperties 组合使用,可以将属性文件与一个Java类绑定,将属性文件中的变量值注入到该Java类的成员变量中。
@Value:在属性上使用,注入spring boot 的application配置文件的属性值
2、什么是SpringBoot,优点和缺点?
spring boot 是一个开源项目,帮助我们更快速的开发,无须配置大量的配置文件
优点:
- 使用springboot我们可以快速构建项目
- 对主流框架进行集成,我们无需配置
- 项目可以独立运行,无需依赖tomcat
- 极大提高运行和部署效率
- 与云计算天然集成
- 提供运行时的应用监控
缺点:
- 版本迭代速度块,一些模块的改动会很大
- 由于不是自己做的配置,报错很难定位
- 网上解决方案比较少
3、什么是yml? 语法格式(说3点)
是一个可读性高,用来表达数据序列化的格式,和xml文件一样可作为配置文件,以数据作为中心,它的格式清晰,可读性高,比xml更适合做配置文件
语法格式:
- 空格缩进,不能用tab
- 用#注释
- 映射:key,value用冒号分隔
- 字符串:不加引号,
- 列表:用短划线’-'标记元素
- 重复的节点:可以用&标识,并用*来引用
4、Spring Boot 的核心注解是哪个?主要由哪几个注解组成的?
核心注解:@springBootApplication
组成:@Configuration,@EnableAutoConfiguration,@ComponentScan
5、Spring-boot-maven-plugin插件作用
添加该插件,可以使用maven的打包工具对应用程序进行打包成一个jar文件,使用java -jar命令就可以直接运行
6、Springboot自动配置的原理
- springboot启动加载的时候加载主配置类,主配置类含有@SpringBootApplication这个复合注解,其中含有@EnableAutoConfiguration,它的功能是开启自动配置
- @EnableAutoConfiguration也是一个复合注解,含有@import,它的功能是导入AUtoConfigurationImportSelector的selectImports()方法,通过SpringFactoriesLoader.loadFactoryNames()扫描所有具有META-INF/spring.factories的jar包,这时会扫描到spring-boot-autoconfigure.jar中的spring.factories文件
7、Springboot读取配置文件的方式**
方式一:使用@Value方式
方式二:通过environment获取外部的配置信息