开发背景
为了将环信(即使通讯)的模块独立出来实现复用,提供给多个模块使用。
实现方式
1.目录结构
2.添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
3.创建配置文件
在\resources\META-INF目录下创建spring.factories文件
spring.factories文件内容:需要自动装配的类
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.aimeng.em.config.HuanXinConfigure,\
org.aimeng.em.config.HuanXinProperties,\
org.aimeng.em.config.EmpusherConfiguration
例如:你需要在其他模块上使用emService类,那么你得使用@Bean注解,使用@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。并且通过自动装配实现对该方法的使用。否则start中的emService在其他模块中会报错找不到。
@Configuration
public class EmpusherConfiguration {
@Bean
public EmService emService() {
return new EmServiceImpl();
}
}
补充:
@EnableAutoConfiguration 注解的作用
@EnableAutoConfiguration 注解用于启用 Spring Boot 的自动配置功能。它告诉 Spring Boot 应用程序自动配置应用程序所需的 Bean,从而减少了开发者的工作量,使得应用程序可以更快速地搭建和运行。
4.使用start
4.1引入依赖
<dependency>
<groupId>vip.lspace</groupId>
<artifactId>empusher</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
4.2启动类上配置扫描类
4.3引入使用
参考文档
保姆级教程,手把手教你实现SpringBoot自定义starter-阿里云开发者社区保姆级教程,手把手教你实现SpringBoot自定义starterhttps://developer.aliyun.com/article/893073
如何自定义一个自己的 Spring Boot Starter 组件(从入门到实践)_如何自定义spring boot starter-CSDN博客