探究Springboot自动装配原理

简介: 探究Springboot自动装配原理

原理初探

自动装配:

pom.xml

spring-boot-dependencies 核心依赖在父工程中~

image.png里面有各种各样的jar包 不用写版本 因为都被管理了~ 直接调用即可

我们在写或者引入一些Springboot依赖的时候,不需要指定版本 因为有这些版本的仓库

spring-boot-starter-parent

资源过滤都已经配置好了

image.png

如果插件下载失败就在这里操作 install一下

image.png

启动器

1. <dependency>
2. <groupId>org.springframework.boot</groupId>
3. <artifactId>spring-boot-starter</artifactId>
4.

image.png

如果把启动器依赖代码删了 程序就崩溃了!

  • 启动器:就是Spring启动的场景
  • 比如 Spring-boot-starter-web 就会帮我们自动导入web的所有依赖
  • Springboot会将所有的功能场景,变成一个个的启动器

主程序

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@SpringBootConfiguration: Springboot的配置

@Configuration:Springboot:配置类

@Componnent:是一个Spring的组件

@EnableAutoConfiguration:自动配置

@AutoConfigurationPackage:自动配置包

@Import({Registrar.class}):导入选择器

@Import({AutoConfigurationImportSelector.class}):自动导入选择


d6bb7211df0042d694f43fe3e110fa38.png

这里是手动给容器导入组件!

71d343b997c64f5ebee40c9f69366a47.png

19958095cab241c788dcad43771dbdfc.png

7528a4845f9e4c90941fd6eb0ec251d6.png

我们点进去看看

image.png

各种各样的配置!


Properties properties=propertiesLoaderutils.loadproperties(resource);

所有资源加载到配置类中~


结论:

springboot所有配置都是在启动的时候扫描并加载 :spring.factories所有的自动配置类都在这里


但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器 我们自动配置就会生效,然后就会配置成功!


小王就给大家带来这些自动装配的原理跟源码


相关文章
|
2月前
|
安全 Java 数据安全/隐私保护
SpringBoot实现二维码扫码登录的原理与详细步骤
SpringBoot实现二维码扫码登录的原理与详细步骤
113 1
|
2月前
|
XML Java 开发者
Spring Boot中的bean注入方式和原理
Spring Boot中的bean注入方式和原理
103 0
|
3月前
|
缓存 Java Maven
Spring Boot自动配置原理
Spring Boot自动配置原理
52 0
|
4月前
|
NoSQL Java 测试技术
字节二面:Spring Boot Redis 可重入分布式锁实现原理?
字节二面:Spring Boot Redis 可重入分布式锁实现原理?
164 1
|
4月前
|
消息中间件 存储 安全
RabbiMQ原理与SpringBoot使用
RabbiMQ原理与SpringBoot使用
39 0
|
2月前
|
前端开发 搜索推荐 Java
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
|
4天前
|
XML Java 数据库
【SpringBoot:详解Bean装配】
【SpringBoot:详解Bean装配】
10 3
|
15天前
|
Java
SpringBoot之@Conditional衍生条件装配详解
SpringBoot之@Conditional衍生条件装配详解
|
15天前
|
Java Spring 容器
SpringBoot自动装配原理之@Import注解解析
SpringBoot自动装配原理之@Import注解解析
53 0
|
18天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
45 0
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析