- 1 为什么用这个配置中心
- 2 nacos配置和springcloud配置
- 3 nacos 配置的使用步骤
因为之后微服务项目是越来越多,所以每一个服务的配置文件也是越来越多,而且他们有可能还有一样的配置,如果其中一个需要改,那么和这个服务相关的也需要改,所以很麻烦的,所以就有了这个配置中心;
2 nacos配置和springcloud配置- springcloud config大部分场景结合git 使用, 动态变更还需要依赖Spring Cloud Bus 消息总线来通过所有的客户端变化.
- springcloud config不提供可视化界面
- nacos config使用长轮询更新配置, 一旦配置有变动后,通知Provider的过程- 非常的迅速, 从速度上秒杀springcloud原来的config几条街,
1 开启nacos,登录之后,创建一个配置文件
以上就保存了一个,接下来到项目里面
2 你要在那个微服务项目里面使用nacos的配置中心,那么你就在哪个项目里面导入依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 2.2.6.RELEASE
3 添加bootstrap.properties,必须是这个文件,里面的内容是
spring:
application:
name: orderapplication
cloud:
nacos:
config:
server-addr: 169.254.89.228:8848
discovery:
password: nacos
namespace: public
username: nacos
4 在controller层获取配置文件里面的东西
如果想要配置文件里面改了,接口立马得知,那么在接口上写这个注解
@RefreshScope
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${common.name}")
public String name;
@RequestMapping("/show")
public String show(){
return name;
}
}
在启动类里面获取配置文件里面的东西
@SpringBootApplication
public class ConfigApplication {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = SpringApplication.run(ConfigApplication.class, args);
String userName = applicationContext.getEnvironment().getProperty("common.name");
String userAge = applicationContext.getEnvironment().getProperty("common.age");
System.out.println("common name :"+userName+"; age: "+userAge);
}
}



