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();
    }
}
posted on 2025-09-11 11:11  自由港  阅读(44)  评论(0)    收藏  举报