From 9a5518d3025471406804bbc632ec999c19220a5b Mon Sep 17 00:00:00 2001 From: fangjian0423 Date: Wed, 15 Jan 2020 15:30:41 +0800 Subject: [PATCH] update nacos config example --- .../alibaba/cloud/examples/Application.java | 69 +++++++++++++++++-- .../src/main/resources/bootstrap.properties | 1 + 2 files changed, 64 insertions(+), 6 deletions(-) diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java index 35cec8c3..30ef8884 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/java/com/alibaba/cloud/examples/Application.java @@ -18,6 +18,7 @@ package com.alibaba.cloud.examples; import java.io.IOException; import java.io.StringReader; +import java.util.Map; import java.util.Properties; import java.util.concurrent.Executor; @@ -30,7 +31,9 @@ import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -45,6 +48,52 @@ public class Application { SpringApplication.run(Application.class, args); } + @Bean + public UserConfig userConfig() { + return new UserConfig(); + } + +} + +@ConfigurationProperties(prefix = "user") +class UserConfig { + + private int age; + + private String name; + + private Map map; + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Map getMap() { + return map; + } + + public void setMap(Map map) { + this.map = map; + } + + @Override + public String toString() { + return "UserConfig{" + "age=" + age + ", name='" + name + '\'' + ", map=" + map + + '}'; + } + } @Component @@ -74,7 +123,7 @@ class SampleRunner implements ApplicationRunner { * * user.name=Nacos user.age=25 * @param configInfo latest config data for specific dataId in Nacos - * server + * server */ @Override public void receiveConfigInfo(String configInfo) { @@ -101,19 +150,27 @@ class SampleRunner implements ApplicationRunner { @RefreshScope class SampleController { + @Autowired + UserConfig userConfig; + + @Autowired + private NacosConfigManager nacosConfigManager; + @Value("${user.name}") String userName; @Value("${user.age:25}") Integer age; - @Autowired - private NacosConfigManager nacosConfigManager; - @RequestMapping("/user") public String simple() { - return "Hello Nacos Config!" + "Hello " + userName + " " + age + "!" - + nacosConfigManager.getConfigService(); + return "Hello Nacos Config!" + "Hello " + userName + " " + age + " [UserConfig]: " + + userConfig + "!" + nacosConfigManager.getConfigService(); + } + + @RequestMapping("/bool") + public boolean bool() { + return (Boolean) (userConfig.getMap().get("2")); } } diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties index 2fc0eab4..71b87e61 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties @@ -13,6 +13,7 @@ spring.cloud.nacos.config.shared-configs[2]= common222.properties spring.cloud.nacos.config.extension-configs[0].data-id= extension1.properties spring.cloud.nacos.config.extension-configs[0].refresh= true spring.cloud.nacos.config.extension-configs[1]= extension2.properties +spring.cloud.nacos.config.extension-configs[2].data-id= extension3.json #spring.cloud.nacos.config.refresh-enabled=true