自定义starter

  1. @Import(RobotAutoConfiguration.class)第一层抽取
    1. 创建starter项目,把公共代码需要的所有依赖导入
    2. 把公共代码复制进来
    3. 自己写一个 RobotAutoConfiguration,给容器中导入这个场景需要的所有组件(就是把组件放到容器中)
      1. 为什么这些组件默认不会扫描进去?
      2. starter所在的包和 引入它的项目的主程序所在的包不是父子层级
    4. 别人引用这个starter,直接导入这个 RobotAutoConfiguration,就能把这个场景的组件导入进来
  2. 使用@EnableXxx机制(就是这个注解帮你写了@Import(RobotAutoConfiguration.class)这个注解)第二层抽取(这个就是自定义一个和系统一样的格式的注解)

    @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.TYPE})
    @Documented
    @Import(RobotAutoConfiguration.class)
    public @interface EnableRobot {
    
    
    }

  3. 自定义配置有提示,需要在自定义starter里导入

    <!--        导入配置处理器,配置文件自定义的properties配置都会有提示-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>

    也可在需要的项目下导入,

  4. 完全自动配置(第三层抽取

    1. 依赖SpringBoot的SPI机制
    2. META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports(这个文件是建在resources) 文件中编写好我们自动配置类的全类名即可
    3. 项目启动,自动加载我们的自动配置类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值