1.概述
我们在使用 springcloud 的时候,本次升级到版本 2023.0.3 需要注意的一些问题,本文介绍一下如何整合 nacos 的配置和注册中心的问题。
2.整合过程
2.1 增加引用
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>17</java.version>
<spring-cloud-dependencies.version>2023.0.3</spring-cloud-dependencies.version>
<spring-cloud-alibaba-dependencies.version>2023.0.3.2</spring-cloud-alibaba-dependencies.version>
</properties>
# 依赖增加
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud-dependencies.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.2主程序的调整
@SpringBootApplication
# 需要增加这个配置
@EnableDiscoveryClient
public class ClouddemoApplication {
public static void main(String[] args) {
SpringApplication.run(ClouddemoApplication.class, args);
}
}
2.3 配置文件调整
spring:
application:
name: nacos-demo
cloud:
nacos:
username: nacos
password: nacos
discovery:
server-addr: 127.0.0.1:8848
namespace: local
group: DEFAULT_GROUP
config:
server-addr: 127.0.0.1:8848
namespace: local
group: DEFAULT_GROUP
config:
import:
//如果需要使用一些公共的配置,这个需要做调整
- "optional:nacos:nacos-config-dev.properties"
这里配置和之前有些不同,新版本增加了
spring:
config:
import:
- "optional:nacos:nacos-config-dev.properties"
- optional: 表示这是一个可选配置,即使无法从 Nacos 获取配置,应用也能正常启动
- nacos: 指定配置源为 Nacos
- nacos-config-dev.properties 指定要从 Nacos 加载的具体配置文件 dataId
2.4 测试代码
@RestController
@RefreshScope
public class HelloController {
@Autowired
private DiscoveryClient discoveryClient;
@Value("${spring.redis.host:localhost}")
private String redishost;
@GetMapping("/redishost")
public String getConfig() {
return "redishost " + redishost;
}
@GetMapping("/services")
public List<String> getServices() {
return discoveryClient.getServices();
}
}
浙公网安备 33010602011771号