侧边栏壁纸
博主头像
IT充电站博主等级

看过故人终场戏,淡抹最适宜

  • 累计撰写 48 篇文章
  • 累计创建 13 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

springboot自动装配的原理

陈汉林
2024-05-15 / 0 评论 / 0 点赞 / 10 阅读 / 1138 字

为什么要自动装备

如果像之前Spring之前那样注入Bean需要自己一个个添加xml或者注入Bean对象,存在大量重复且劳累的工作。例如:注入Nacos组件时,你需要注入NacosRegistry等等Bean,如果是之前,就需要自己一个个写了。

那么在Springboot当中,只需要你引入Nacos依赖启动器,那么springboot就会自动注入这些nacos相关的Bean,省去了编码的成本。

实现的原理

通过SpringFactoriesLoader加载对应jar包MATE-INF目录下的spring.factories文件,具体实现类是AutoConfigurationImportSelector类getCandidateConfigurations方法,然后搭配上@Condition注解进行条件式的注入.

protected List<String> getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) {
        List<String> configurations = SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader());
        Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.");
        return configurations;
    }

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区