第一步:springBoot版本降低到2.0.9.RELEASE
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
第二部:引入依赖nacos相关依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.0.3.RELEASE</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.4</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
第三步:增加bootstrap.yaml文件
spring:
application:
name: server-name
#环境 local|dev|sit|uat|prod
profiles:
active: dev
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
namespace: matlab-${spring.profiles.active}
group: DEFAULT_GROUP
file-extension: yaml
#指定共享配置,且支持动态刷新
extension-configs:
- data-id: ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
group: DEFAULT_GROUP
refresh: true
第四步:重写com.alibaba.nacos.api包下的NacosFactory类,主要是修改createConfigService方法
public static ConfigService createConfigService(Properties properties) throws NacosException {
properties.put("username","");
properties.put("password","");
return ConfigFactory.createConfigService(properties);
}
第五步:请求nacos数据
@RestController
@RequestMapping(“/config”)
public class NacosInfoController {
// @Value两种取值方式
@Value(value= "${portal.redirect_uri}")
private String redirect_uri;
@Value(value = "${nacos:port}")
private String port;
@GetMapping(value = "/getNacosInfo")
public String getConfig() {
return "redirect_uri is" + redirect_uri + ";port is" + port;
}
}