zoukankan      html  css  js  c++  java
  • springboot实现自定义start

    建项目:

    比较简单,我写过很多建项目的博客了…
    在这里插入图片描述

    自定义autoconfigure-servicetest

    我打算先实现简单的类的自动注入,然后自己实现一个简单的springboot-redis-start
    首先再建个模块,就叫autoconfigure-servicetest好了,同理建一个autoconfigure-redis,web模块里面引入两个新建的模块
    然后加上依赖:

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
            </dependency>
    

    然后在servicetest里面建一个需要注入到其他工程里面的类,就叫做serviceTest好了,里面就一个方法调用,whoani我是谁?
    在这里插入图片描述
    然后建个自动装配类:[
    @Configuration注解表名这是一个配置类,
    @ConditionalOnClass表示为只有当ServiceTest存在时才会实例化
    @ConditionalOnMissingBean表示容器中没有这个类才会返回这个类,如果有就不加载这个类了
    然后在resource下面建META-INF文件夹,然后建个spring.factories文件,然后文件中写上

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.ql.servicetest.ServiceTestAutoConfigure
    

    然后简单的自动装配就完成了,这时候肯定一头雾水,为啥要这么做,我们等下分析,先测试一波:写个简单的测试:
    在这里插入图片描述
    在这里插入图片描述
    成功了,

    为什么要建META-INF,然后文件spring.factories写的啥

    先看下dubbo-spring-boot-starter
    在这里插入图片描述
    再看看spring-boot-autoconfigure,就是官方的start
    在这里插入图片描述
    然后看看spring.factories文件,其实都是跟我们写的一样的配置文件
    在这里插入图片描述
    都是指定加载的配置文件而已.
    图片来自参考:https://www.jianshu.com/p/9e31b4ef2b20
    在这里插入图片描述

    自定义springboot-redis-start

    自定义实现springboot-redis

    源码学习:

    https://github.com/stackXu/study-authconfigure

    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    Java学习哈希表2
    Java学习哈希表1
  • 原文地址:https://www.cnblogs.com/javayida/p/13346917.html
Copyright © 2011-2022 走看看