06 如何自定义一个starter

vvEcho 2025-03-02 13:46:31
Categories: Tags:

自定义 Starter 的核心是封装功能配置与自动装配逻辑,分为四个步骤:
1.创建一个工程引入自动配置注解
2.定义配置属性类

1
2
3
4
5
@ConfigurationProperties(prefix = "my.starter")
public class MyProperties {
private String message = "Default Message";
// Getter/Setter
}

3.创建一个自动配置类和业务实现类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Configuration
@EnableConfigurationProperties(MyProperties.class)
@ConditionalOnClass(MyService.class) // 仅当MyService在类路径时生效
public class MyAutoConfiguration {
@Bean
@ConditionalOnMissingBean // 避免重复创建Bean
public MyService myService(MyProperties properties) {
return new MyService(properties.getMessage());
}
}

public class MyService {
private final String message;

public MyService(String message) {
this.message = message;
}

public void printMessage() {
System.out.println(message);
}
}

4.注册配置,在META-INF/spring.factories中声明自动配置类的路径
5.打包到仓库,然后尝试在其他工程类引入并自定义对应的配置
6.测试验证业务功能是否正常