Nacos
## 1.nacos配置中心
##### 1)、引入依赖
```xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
```
##### 2)、创建一个bootstrap.properties
```properties
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
```
##### 3)、配置中心添加数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties
##### 4)、动态获取配置(如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置)
```java
@RefreshScope:动态获取并刷新配置
@Value("${配置项的名}"):获取到配置
-----------------------------------
@RefreshScope //动态获取并刷新配置
public class CouponController {
//获取到配置
@Value("${coupon.user.name}")
private String name;
}
```
##### 5)、命名空间:配置隔离
1. 默认:public(保留空间);默认新增的所有配置都在public空间
2. 开发,测试,生产:利用命名空间来做环境隔离
3. 注意:在bootstrap.properties;配置上,需要使用哪个命名空间下的配置
```properties
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=5d8d201b-6fda-4455-a28f-320145fcd66d
spring.cloud.nacos.config.group=prod
```
## 2.nacos注册中心
##### 1)、引入依赖
```xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
```
##### 2)、创建一个配置文件
```properties
spring.application.name=gulimall-coupon
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
```
##### 3)、启动类上加@EnableDiscoveryClient 注解
```java
@EnableDiscoveryClient
@SpringBootApplication
public class XXXApplication {
public static void main(String[] args) {
SpringApplication.run(XXXApplication.class, args);
}
}
```