欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot Starter 原理源码解析(二)

程序员文章站 2022-03-26 16:46:17
springboot starterspringboot创建spring应用简单starter自动加载无xml简单易用内置服务器…一、starter工作原理引入相关的jar自动完成了bean的配置bean配置方式(三种)xml注解java代码(java配置类)springbootStarter 使用的是java代码自动配置 @Configurationspringboot自动配置springboot自动加载jar​...

springboot starter

springboot

  • 创建spring应用简单
  • starter自动加载
  • 无xml
  • 简单易用
  • 内置服务器

一、starter工作原理

  • 引入相关的jar

  • 自动完成了bean的配置

    • bean配置方式(三种)

      • xml

      • 注解

      • java代码(java配置类)

      • springbootStarter 使用的是java代码自动配置 @Configuration

        Spring Boot Starter 原理源码解析(二)

    • springboot自动配置

      • springboot自动加载jar
        Spring Boot Starter 原理源码解析(二)

      • 数据源配置

        Spring Boot Starter 原理源码解析(二)

    • 自定义的Bean优先于Jar中的Bean

      • 即同一个bean配置两次 使用用户自定义的
    • 自动配置------条件依赖注解

      Spring Boot Starter 原理源码解析(二)

二、springboot 参数规则

三、制作公共starter

四、拓展

  • 为Bean中的参数复制的方法

    • 构造器

    • 注解

      • @Value("${gaos.name}")
        
      • @ConfigurationProperties(prefix = "spring.datasource")
        @EnableConfigurationProperties(xxx.class)
        
      • 参数的命名和类属性名的对应关系

    • 配置文件

  • idea中配置文件中的提示功能

    • META-INF下 spring-configuration-metadata.json文件中配置
  • springboot扫描包规则

    • 自定义的Bean
      • 默认为当前包及子包
      • @basePackage可以设置
    • 引入的jar包
      • starter中 META-INF中的spring.factories
  • SPI机制 策略模式

    • 一个接口 很多实现类
    • 面向接口编程 + 文档配置实现类都有什么
    • dubbo 高可扩展 核心就是因为SPI机制

本文地址:https://blog.csdn.net/baidu_38900596/article/details/112255070