diff --git a/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/DubboUtils.java b/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/DubboUtils.java
index 59cde99..5973084 100644
--- a/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/DubboUtils.java
+++ b/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/DubboUtils.java
@@ -16,6 +16,7 @@
  */
 package com.alibaba.boot.dubbo.util;
 
+import org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver;
 import org.springframework.core.env.ConfigurableEnvironment;
 
 import java.util.Collections;
@@ -123,6 +124,8 @@
 
         SortedMap<String, Object> dubboProperties = new TreeMap<>();
 
+        PropertySourcesPlaceholdersResolver resolver = new PropertySourcesPlaceholdersResolver(environment);
+
         Map<String, Object> properties = EnvironmentUtils.extractProperties(environment);
 
         for (Map.Entry<String, Object> entry : properties.entrySet()) {
@@ -130,7 +133,7 @@
 
             if (propertyName.startsWith(DUBBO_PREFIX + PROPERTY_NAME_SEPARATOR)
                     && entry.getValue() != null) {
-                dubboProperties.put(propertyName, entry.getValue().toString());
+                dubboProperties.put(propertyName, resolver.resolvePlaceholders(entry.getValue()));
             }
 
         }
diff --git a/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/EnvironmentUtils.java b/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/EnvironmentUtils.java
index 9b20c58..bf1ade1 100644
--- a/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/EnvironmentUtils.java
+++ b/dubbo-spring-boot-autoconfigure/src/main/java/com/alibaba/boot/dubbo/util/EnvironmentUtils.java
@@ -64,7 +64,8 @@
 
         for (PropertySource<?> source : map.values()) {
 
-            if (source instanceof EnumerablePropertySource) {
+            if (source instanceof EnumerablePropertySource
+                    && !source.getName().equals("systemEnvironment")) {
 
                 EnumerablePropertySource propertySource = (EnumerablePropertySource) source;
 
diff --git a/pom.xml b/pom.xml
index a223d60..2e74a03 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
     <properties>
         <maven_javadoc_version>3.0.1</maven_javadoc_version>
         <maven_surefire_version>2.19.1</maven_surefire_version>
-        <revision>0.2.1</revision>
+        <revision>0.2.2</revision>
     </properties>
 
     <modules>
