02--SpringBoot自动装配原理

1、自动配置类读取原理

@SpringBootApplication应用标注在某个类上,说明这个类是SpringBoot的主配置类,SpringBoot的项目需要运行这个类的main方法来启动SpringBoot应用的服务;

1.1 源码分析

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
 @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
 @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {}
  • @SpringBootConfiguration:用于标识这个类是SpringBoot的配置类;
  • @EnableAutoConfiguration:开启自动配置的功能,会自动扫描所有自动配置类,扫描到且满足条件才会生效。
  • @ComponentScan:包扫描;
    • TypeExcludeFilter:SpringBoot对外提供的扩展类, 可以去按照我们的方式进行排除
    • AutoConfigurationExcludeFilter:排除所有配置类并且是自动配置类
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {}
  • @AutoConfigurationPackage:将当前配置类所在包保存在BasePackages的Bean中。供Spring内部使用。
  • 自动装配流程图

后续深入更新…

相关推荐

  1. 02--SpringBoot自动装配原理

    2024-06-11 00:00:06       10 阅读
  2. springboot 自动装载原理

    2024-06-11 00:00:06       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-11 00:00:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-11 00:00:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-11 00:00:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-11 00:00:06       20 阅读

热门阅读

  1. c 语言 ---- 结构体

    2024-06-11 00:00:06       6 阅读
  2. C++入门7 类|构造函数|析构函数

    2024-06-11 00:00:06       6 阅读
  3. linux Ubuntu安装samba服务器与SSH远程登录

    2024-06-11 00:00:06       11 阅读
  4. MC服务器怎么搭建

    2024-06-11 00:00:06       10 阅读
  5. TypeScript (TS) 类型定义总结

    2024-06-11 00:00:06       9 阅读
  6. spring 事务隔离级别

    2024-06-11 00:00:06       11 阅读
  7. 实验3-单链表(优化版/王道版)

    2024-06-11 00:00:06       9 阅读
  8. 数据结构-哈希表

    2024-06-11 00:00:06       10 阅读
  9. Qt定时器

    2024-06-11 00:00:06       9 阅读
  10. 【第一篇】SpringSecurity的入门

    2024-06-11 00:00:06       11 阅读