关联知识:
内容提要:
<dependencies>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-bootstrapartifactId>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
dependencies>
# application.yml
server:
port: 8001
spring:
profiles:
active: test
cloud:
nacos:
discovery:
# nacos的地址
server-addr: localhost:8848
# bootstrap.yml
spring:
application:
name: nacos-config
cloud:
nacos:
config:
# nacos地址
server-addr: localhost:8848
# 可配置namespace和group
group: DEFAULT_GROUP
# 配置文件的类型
file-extension: yml
package learn.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class NacosConfig {
public static void main(String[] args) {
SpringApplication.run(NacosConfig.class, args);
}
}
package learn.demo.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/nacos/config/")
@RefreshScope // 配合@Value来刷新属性值
public class ConfigController {
@Value("${spring.application.name} ${server.port}")
private String serverInfo;
@Value("${config.info}")
private String configInfo;
@GetMapping("test")
public String test() {
return serverInfo+"\t"+configInfo;
}
}
config:
info: nacos-config-test.yml version=1
localhost:8001/nacos/config/test 接口,能正常返回信息