闲话不多说,上代码。
1. 添加Nacos依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
2. 配置Nacos连接信息
在application.properties
或application.yml
文件中配置Nacos连接信息,包括Nacos服务器的地址、端口、命名空间等
# Nacos配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# Nacos命名空间
spring.cloud.nacos.config.namespace=
3. 启用Nacos配置中心
在Spring Boot的启动类上添加@EnableNacosConfig
注解,启用Nacos配置中心的功能
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.alibaba.nacos.spring.context.annotation.config.EnableNacosConfig;
@SpringBootApplication
@EnableNacosConfig
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
4. 使用Nacos配置
使用@Value
注解来获取Nacos配置中心的配置项
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class YourComponent {
@Value("${your.property.key}")
private String yourProperty;
// ...
}
使用@ConfigurationProperties
注解来获取Nacos配置中心的配置项
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class YourComponent {
@Value("${your.property.key}")
private String yourProperty;
// ...
}
使用@NacosConfigurationProperties
注解来绑定整个配置类
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
import com.alibaba.nacos.api.config.annotation.NacosConfigurationProperties;
@Component
@RefreshScope
@NacosConfigurationProperties(dataId = "your-data-id", groupId = "your-group-id", autoRefreshed = true)
public class YourConfig {
// ...
}
5. 加载配置信息的方式
5.1 指定dataId
和groupId
,你可以精确地获取对应配置项的值,例如,在application.properties
或application.yml
中配置了以下内容
your.data.id = your-data-id
your.group.id = your-group-id
5.2 使用命名空间
5.3 使用@NacosValue
注解