SpringBoot(高级原理分析)(下)

简介: SpringBoot(高级原理分析)(下)

②. SpringBoot三大核心注解


①. @SpringBootApplication

1>.@SpringBootApplication


我们在启动项目是都需要在一个类上加@SpringBootApplication这个注解,这个注解中其中包括SpringBoot三个核心注解

(1).@SpringBootConfiguration

(2) @EnableAutoConfiguration

(3) @ComponentScan

image.png

image.png

②. @SpringBootConfiguration

2>. @SpringBootConfiguration


  • 在SpringBootConfiguration中有一个注解@Configuration,标注这个注解的类就是一个配置类, @Configuration这个注解用于以JavaConfig的方式来定义配置类,可替换 xml 配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。这也是SpringBoot中没有XML配置文件的原因,SpringBoot都是通过配置类的方式将Bean注入到SpringIOC的容器中

image.png

③. EnableAutoConfiguration

3>. EnableAutoConfiguration


①. EnableAutoConfiguration 中的@Import 在SpringBoot中流程分析:


image.png

image.png

image.png

  • ②. @EnableAutoConfiguration注解内部使用@Import({AutoConfigurationImportSelector.class})来加载配置类


  • ③. 配置文件位置:META-INF/spring.factories,该配置文件中定义了大量的配置类,当SpringBoot应用启动时,会自动加载这些配置类,初始化Bean


  • ④. 并不是所有的Bean都会被初始化,在配置类中使用Condition来加载满足条件的Bean


④. @ComponentScan

4>. @ComponentScan


  • 扫描标明了@SpringBootApplication的类或及其子包进行一个扫描


相关文章
|
1月前
|
安全 Java 数据安全/隐私保护
SpringBoot实现二维码扫码登录的原理与详细步骤
SpringBoot实现二维码扫码登录的原理与详细步骤
90 1
|
1月前
|
XML Java 开发者
Spring Boot中的bean注入方式和原理
Spring Boot中的bean注入方式和原理
58 0
|
2月前
|
缓存 Java Maven
Spring Boot自动配置原理
Spring Boot自动配置原理
48 0
|
3月前
|
NoSQL Java 测试技术
字节二面:Spring Boot Redis 可重入分布式锁实现原理?
字节二面:Spring Boot Redis 可重入分布式锁实现原理?
161 1
|
3月前
|
消息中间件 缓存 监控
spring boot 高级篇
spring boot 高级篇
104 1
|
3月前
|
消息中间件 存储 安全
RabbiMQ原理与SpringBoot使用
RabbiMQ原理与SpringBoot使用
38 0
|
1月前
|
前端开发 搜索推荐 Java
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
|
3月前
|
监控 Java 应用服务中间件
SpringBoot3 快速入门及原理分析
SpringBoot3 快速入门及原理分析
|
3天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
8 0
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
|
16天前
|
Java 容器 Spring
Springboot自动配置原理
Springboot自动配置原理