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容器。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值