1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

update nacos config example

This commit is contained in:
fangjian0423 2020-01-15 15:30:41 +08:00
parent 23c3dd69ab
commit 9a5518d302
2 changed files with 64 additions and 6 deletions

View File

@ -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<String, Object> 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<String, Object> getMap() {
return map;
}
public void setMap(Map<String, Object> 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"));
}
}

View File

@ -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