diff --git a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java index 48e03d94f..e364fc53a 100644 --- a/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java +++ b/spring-cloud-starter-alicloud/spring-cloud-alicloud-context/src/main/java/com/alibaba/alicloud/context/AliCloudContextAutoConfiguration.java @@ -16,6 +16,7 @@ package com.alibaba.alicloud.context; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.commons.util.InetUtils; @@ -25,15 +26,28 @@ import org.springframework.context.annotation.Configuration; /** * @author xiaolongzuo + * @author theonefx */ @Configuration(proxyBeanMethods = false) -@EnableConfigurationProperties({ AliCloudProperties.class, InetUtilsProperties.class }) public class AliCloudContextAutoConfiguration { - @Bean - @ConditionalOnMissingBean - public InetUtils inetUtils(InetUtilsProperties inetUtilsProperties) { - return new InetUtils(inetUtilsProperties); + @Configuration(proxyBeanMethods = false) + @EnableConfigurationProperties(AliCloudProperties.class) + static class AliCloudPropertiesConfiguration { + + } + + @Configuration(proxyBeanMethods = false) + @EnableConfigurationProperties(InetUtilsProperties.class) + @ConditionalOnClass(InetUtilsProperties.class) + static class InetUtilsConfiguration { + + @Bean + @ConditionalOnMissingBean + public InetUtils inetUtils(InetUtilsProperties inetUtilsProperties) { + return new InetUtils(inetUtilsProperties); + } + } }