使用配置类来相当方便在项目中拥有大量处理逻辑时可以简化封装操作.
基本的思路
- 创建一个configBuilder类
- 创建业务处理逻辑实现类
- 在配置类中build服务类
ConfigBuilder
import org.springframework.beans.BeanUtils;
public class ConfigBuilder {
private DataHandler dataHandler;
public ConfigBuilder() {
this.dataHandler = null;
}
public ConfigBuilder(DataHandler dataHandler) {
this.dataHandler = dataHandler;
}
public void setDataHandler(DataHandler dataHandler) {
this.dataHandler = dataHandler;
}
public Config build() {
return build(Config.class);
}
public <T extends Config> T build(Class<T> configClass) {
return configure(BeanUtils.instantiate(configClass));
}
public <T extends Config> T configure(T config) {
if (this.dataHandler != null) {
config.setDataHandler(this.dataHandler);
}
return config;
}
}
DataHandler
@Component
public class DataHandler {
}
在ApplicationConfig中配置
@SpringBootApplication
public class ApplicationConfig {
@Bean
public ConfigBuilder configBuilder(DataHandler dataHandler) {
return new ConfigBuilder(dataHandler);
}
@Bean
public Config config(ConfigBuilder configBuilder) {
return configBuilder.build();
}
}
一个简化版的配置类就算基本完成,可以在其中添加所需内容.