[ISSUE #486]The namespace configuration in the annotation cannot be read. (#487)

Co-authored-by: zhangjidi <zhangjidi@cmss.chinamobile.com>
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java
index 7c02ebb..def8030 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtConsumerResetConfiguration.java
@@ -130,7 +130,8 @@
                 groupName, topicName, messageModel, selectorType, selectorExpression, ak, sk, pullBatchSize, useTLS);
         litePullConsumer.setEnableMsgTrace(annotation.enableMsgTrace());
         litePullConsumer.setCustomizedTraceTopic(resolvePlaceholders(annotation.customizedTraceTopic(), consumerConfig.getCustomizedTraceTopic()));
-        litePullConsumer.setNamespace(RocketMQUtil.getNamespace(annotation.namespace(), consumerConfig.getNamespace()));
+        String namespace = environment.resolvePlaceholders(annotation.namespace());
+        litePullConsumer.setNamespace(RocketMQUtil.getNamespace(namespace, consumerConfig.getNamespace()));
         litePullConsumer.setInstanceName(annotation.instanceName());
         return litePullConsumer;
     }
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java
index 570df1d..1980c2d 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java
@@ -127,7 +127,8 @@
         producer.setCompressMsgBodyOverHowmuch(annotation.compressMessageBodyThreshold() == -1 ? producerConfig.getCompressMessageBodyThreshold() : annotation.compressMessageBodyThreshold());
         producer.setRetryAnotherBrokerWhenNotStoreOK(annotation.retryNextServer());
         producer.setUseTLS(useTLS);
-        producer.setNamespace(RocketMQUtil.getNamespace(annotation.namespace(), producerConfig.getNamespace()));
+        String namespace = environment.resolvePlaceholders(annotation.namespace());
+        producer.setNamespace(RocketMQUtil.getNamespace(namespace, producerConfig.getNamespace()));
         producer.setInstanceName(annotation.instanceName());
         return producer;
     }
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java
index e476927..19088e6 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java
@@ -141,7 +141,8 @@
         container.setMessageConverter(rocketMQMessageConverter.getMessageConverter());
         container.setName(name);
 
-        container.setNamespace(RocketMQUtil.getNamespace(container.getNamespace(),
+        String namespace = environment.resolvePlaceholders(annotation.namespace());
+        container.setNamespace(RocketMQUtil.getNamespace(namespace,
             rocketMQProperties.getPushConsumer().getNamespace()));
         return container;
     }