diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java index 78f2df83..dbab321a 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java @@ -30,9 +30,14 @@ import java.util.List; import java.util.Objects; import java.util.Properties; +import javax.annotation.PostConstruct; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.core.env.Environment; +import org.springframework.util.StringUtils; import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.config.ConfigService; @@ -43,6 +48,7 @@ import com.alibaba.nacos.api.config.ConfigService; * @author leijuan * @author xiaojing * @author pbting + * @author lyuzb */ @ConfigurationProperties(NacosConfigProperties.PREFIX) public class NacosConfigProperties { @@ -52,6 +58,24 @@ public class NacosConfigProperties { private static final Logger log = LoggerFactory .getLogger(NacosConfigProperties.class); + @Autowired + private Environment environment; + + @PostConstruct + public void init() { + this.overrideFromEnv(); + } + + private void overrideFromEnv() { + if (StringUtils.isEmpty(this.getServerAddr())) { + String serverAddr = environment.resolvePlaceholders("${spring.cloud.nacos.config.server-addr:}"); + if(StringUtils.isEmpty(serverAddr)) { + serverAddr = environment.resolvePlaceholders("${spring.cloud.nacos.server-addr}"); + } + this.setServerAddr(serverAddr); + } + } + /** * nacos config server address. */ diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 96bcc860..bd906fd9 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -57,6 +57,7 @@ import com.alibaba.nacos.client.naming.utils.UtilAndComs; * @author dungu.zpf * @author xiaojing * @author Mercy + * @author lyuzb */ @ConfigurationProperties("spring.cloud.nacos.discovery") @@ -64,7 +65,7 @@ public class NacosDiscoveryProperties { private static final Logger log = LoggerFactory .getLogger(NacosDiscoveryProperties.class); - + /** * nacos discovery server address. */ @@ -411,8 +412,11 @@ public class NacosDiscoveryProperties { public void overrideFromEnv(Environment env) { if (StringUtils.isEmpty(this.getServerAddr())) { - this.setServerAddr(env - .resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}")); + String serverAddr = env.resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}"); + if(StringUtils.isEmpty(serverAddr)) { + serverAddr = env.resolvePlaceholders("${spring.cloud.nacos.server-addr}"); + } + this.setServerAddr(serverAddr); } if (StringUtils.isEmpty(this.getNamespace())) { this.setNamespace(env