SpringBoot@Conditional_存在,及合理的博客-CSDN博客
SpringBootIntegration: SpringBootIntegration
spring-boot-autoconfigure
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
编写属性源及自动配置类
@ConfigurationProperties("api.mall")
public class ApiMallProperties {
private String url;
public void setUrl(String url) {
this.url = url;
}
public String getUrl() {
return url;
}
}
@Configuration
@EnableConfigurationProperties(ApiMallProperties.class)
@ConditionalOnProperty(prefix = "api.mall",name = "url")
public class ApiMallAutoConfiguration {
@Bean
@ConditionalOnMissingBean(ApiMallTokenService.class)
public ApiMallTokenService apiMallTokenService(ApiMallProperties apiMallProperties) {
ApiMallTokenService apiMallTokenService = new ApiMallTokenService();
apiMallTokenService.setApiMallProperties(apiMallProperties);
return apiMallTokenService;
}
}
public class ApiMallTokenService {
ApiMallProperties apiMallProperties;
public void setApiMallProperties(ApiMallProperties apiMallProperties) {
this.apiMallProperties = apiMallProperties;
}
public Map<String,String> getToken(){
Map<String, String> stringStringHashMap = new HashMap<>(3);
stringStringHashMap.put("url", apiMallProperties.getUrl());
return stringStringHashMap;
}
}
在spring.factories中添加自动配置类实现
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.du.mons.mall.ApiMallAutoConfiguration