其他分享
首页 > 其他分享> > SpringBoot如何自定义一个starter模块

SpringBoot如何自定义一个starter模块

作者:互联网

要想自定义一个Starter模块,就需要理解自动装配的原理。首先,想想我们自动装配涉及到哪些关键的类或者属性文件?无非就是配置类+spring.factories属性文件。

1自定义starter的条件

  1. 根据条件检查classpath下对应的类,也就是说需要提供对应可检查的类。
  2. 当满足条件时能够生成自定义的Bean,并注册到容器中去。
  3. 能够自动配置项目所需要的配置。

1.1定义好需要通过配置类来实例化的Bean

在这里插入图片描述

1.2定义好属性类

在这里插入图片描述
这里通过@ConfigurationProperties注解application.properties前缀为msg的配置信息与MsgProperties的属性绑定。

1.3定义好配置类

在这里插入图片描述

1.4定义好spring.factories属性文件

要想实现自动配置,那么spring.factories属性文件是必不可少的,因为SpringBoot需要通过spring.factories找到需要实例化的配置类。然后通过SPI的方式来实例化。所以,我们需要在resources 下面增加 META-INF/spring.factories。
在这里插入图片描述

1.5打包上传到本地仓库

上面的步骤都搞好之后,我们这个自定义的starter模块差不多就可以用了,为了上其他项目可以引入我们的自定义的starter模块,我们需要通过mvn install命令将这个starter包上传到我们本地仓库或者私服。
在这里插入图片描述

1.6在application.properties文件中增加配置

msg.url=127.0.0.1
msg.content=nice to meet you

1.7测试

在这里插入图片描述
在这里插入图片描述
总结
本文完整的演示了一遍如何自定义starter模块。其实理解了自动装配的原理就很好的能自定义一个starter模块。它的工作流程无非就三步:

  1. Spring Boot在启动时会扫描项目所依赖的JAR包,寻找包含spring.factories属性文件的JAR包。
  2. 根据spring.factories配置加载EnableAutoConfiguration。
  3. 根据@Conditional注解的条件,进行自动配置并将Bean注入到Spring容器。
    在这里插入图片描述

标签:SpringBoot,自定义,spring,配置,模块,factories,starter
来源: https://blog.csdn.net/zs18753479279/article/details/116427085