一、@Value注解
1、必须引入配置中心的依赖
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
2、创建一个类
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Component
@RefreshScope
public class TestValue {
@Value("${spring.dataId.versionId}")
private String versionId;
public String getVersionId() {
return versionId;
}
}
@Value注解中的就是当前服务在Nacos配置文件中的对应配置的id,例如:
spring:
dataId:
versionId: 1111
要实现配置的热更新,一定要加上类上面的@RefreshScope注解。
二、@ConfigurationProperties注解
编写一个类
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "mall.number")
public class CartProperties {
private String numberOne;
}
@ConfigurationProperties这个注解中,prefix是表示Nacos配置文件中的对应的id的前缀,前缀加上下面的属性名称,构成一个完整的id,例如:
mall:
number:
numberOne: 11222
这种方式有一个好处,就是可以在里面一直添加属性,前缀都是一样的,比较方便,例如:
mall:
number:
numberOne: 3333
numberTwo: 4444
然后在上面的类中加一个numberTwo属性就可以了,是不是很方便管理,不一样的前缀,添加不一样的配置类即可,很好归类。