目录

1. Spring Boot是什么

2.  优点

3. 核心注解及其构成 

4. 谈谈JavaConfig

5.  自动配置的原理

6. 各种配置方式的加载顺序

7. 用YAML优缺点


1. Spring Boot是什么

Spring的子项目引导(Boot)Spring。可借助各种Starter启动器,快速配置Spring项目,避免繁重的配置。大势所趋,大量的开源项目都实现了其Starter启动器。

2.  优点

  • 易上手
  • 开箱即用,无需繁琐配置
  • 提供大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等
  • 已集成依赖,避免了大量Maven 导入和各种版本冲突

3. 核心注解及其构成 

@SpringBootApplication,主要由@EnableAutoConfiguration、@ComponentScan、@SpringBootConfiguration构成。分别是启动自动配置、Spring组件扫描、标注当前类是配置类。

4. 谈谈JavaConfig

Spring JavaConfig是Spring社区的产品,提供了配置 Spring IOC容器的纯Java 方法,避免XML配置 。优点有:

  • 纯java代码,具备复用、继承、多态等特性(例如一个配置类可以继承另一个,重写它的@Bean 方法)
  • 自由地控制bean的初始化、注入以及复杂对象的构建
  • 类型安全和重构友好。因Java 5.0对泛型的支持,现在可按类型而非名称检索 bean。

5.  自动配置的原理

关键在@SpringBootApplication的@EnableAutoConfiguration。该注解引入AutoConfigurationImportSelector,在ConfigurationClassParser解析配置类时,就会调用其selectImports方法,进而从META-INF/spring.factories里筛选有效的自动配置类,每一个自动配置类结合对应的xxxProperties.java读取配置文件进行自动配置功能。(详见自定义starter的编写自动配置类、常见注解的@EbableAutoConfiguration、启动流程的SpringFactoriesLoader)

6. 各种配置方式的加载顺序

2.3.3版本官网给出了顺序:

【SpringBoot】十六、研究下面试题

高优先级的配置覆盖低优先级的配置

7. 用YAML优缺点

YAML:"Yet Another Markup Language"

好处:

  • 结构化,简洁
  • 配置有序
  • 支持容器

坏处:

  • 不支持 @PropertySource 注解导入自定义的 YAML 配置

 

 

相关文章:

  • 2021-08-16
  • 2021-07-10
  • 2022-12-23
  • 2021-11-24
  • 2022-02-08
  • 2021-06-14
  • 2021-07-13
  • 2022-12-23
猜你喜欢
  • 2021-11-22
  • 2021-06-02
  • 2021-06-29
  • 2021-12-24
  • 2021-09-07
  • 2021-10-10
  • 2021-09-10
相关资源
相似解决方案