文章目录

  • 前言
  • 微服务为什么需要配置中心
  • 怎么使用配置中心
  • 1.本示例环境
  • 2.nacos 安装
  • 3.nacos配置
  • 3.1 新建命名空间
  • 3.2新建配置
  • 4.pom.xml
  • 5.application.yml
  • 6.NacosConfigController
  • 7.启动用http工具测试结果
  • 总结
  • 源码下载
  • 写在最后



springcloud与nacos支持数据源动态刷新_应用程序

前言

在当今快速发展的云原生应用开发环境中,配置中心的重要性不言而喻。

Nacos作为一个开源的动态服务发现、配置管理和服务管理平台,为开发者提供了一种简单而强大的方式来管理应用程序的配置信息。

而Spring Boot作为一个快速构建应用程序的框架,与Nacos的结合可以帮助开发者更加高效地管理和使用配置信息,提升应用程序的可维护性和可扩展性。

本文将介绍如何使用Spring Boot整合Nacos配置中心,包括配置Nacos服务器、引入Nacos依赖、编写配置文件、使用注解获取配置信息等内容。

通过本文的指导,您将能够轻松地在Spring Boot应用程序中使用Nacos配置中心,实现配置的动态管理和更新。


微服务为什么需要配置中心

1.微服务架构中,服务的数量和复杂度都会大幅增加,因此需要配置中心来集中管理和配置这些不同的微服务。

2.配置中心能够消除硬编码所带来的问题,实现多环境配置管理,避免手动修改配置文件带来的风险,并能够支持服务的动态扩展和部署。

3.通过配置中心,管理员可以轻松地监控和管理微服务的配置,及时更新服务配置,降低了运维成本和风险。

4.配置中心还可以提供版本管理功能,保证系统配置的一致性和可视性,确保微服务架构的稳定和性能。


怎么使用配置中心

1.本示例环境

模块

版本号

JDK

17

SpringBoot

3.0.6

spring-cloud-starter-alibaba-nacos-config

2021.0.4.0

nacos

2.2.0-BATA

2.nacos 安装

参考我之前文章:Nacos 启动与配置

3.nacos配置
3.1 新建命名空间

springcloud与nacos支持数据源动态刷新_应用程序_02

3.2新建配置

springcloud与nacos支持数据源动态刷新_spring boot_03

springcloud与nacos支持数据源动态刷新_spring boot_04

4.pom.xml
<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.0.6</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.springcloud.nacos.config</groupId>
	<artifactId>springcloud-nacos-config-demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>springcloud-nacos-config-demo</name>
	<description>Demo project for Spring Cloud</description>

	<properties>
		<java.version>17</java.version>
		<maven.compiler.source>17</maven.compiler.source>
		<maven.compiler.target>17</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
			<version>2021.0.4.0</version>
		</dependency>
	</dependencies>
5.application.yml
spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        group: DEFAULT_GROUP
        #指定文件名,没有则默认${spring.application.name}
        #指定文件后缀
        file-extension: yaml
        namespace: dca4fe79-6c62-44df-aa7f-12f58de7e05c #这里是nacos的命名空间的id
  config:
    import:
      - optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}

  application:
    name: nacos.cfg.test

server:
  port: 8080
6.NacosConfigController
@Controller
@RequestMapping("config")
public class NacosConfigController {

    //通过 Nacos 的 @NacosValue 注解设置属性值
    @Value(value = "${nacos.test.properties:null}")
    private String testProperties;

    /**
     * 获取配置
     * @return
     */
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    @ResponseBody
    public String get() {
        return testProperties;
    }
}
7.启动用http工具测试结果

springcloud与nacos支持数据源动态刷新_spring_05

以上整个示例就完成了


总结

通过本文的介绍,我们了解了Spring Boot整合Nacos配置中心的基本原理和操作步骤。Nacos作为一个功能强大的配置中心平台,为开发者提供了一种简单而高效的方式来管理应用程序的配置信息。而Spring Boot作为一个快速构建应用程序的框架,与Nacos的结合可以帮助开发者更加便捷地使用配置信息,提升应用程序的可维护性和可扩展性。

希望通过本文的指导,您能够更好地理解和应用Spring Boot整合Nacos配置中心的方法,为您的应用程序开发带来便利和效益。如果您在使用过程中遇到任何问题,欢迎随时向我们咨询,我们将竭诚为您提供帮助。祝您在使用Spring Boot整合Nacos配置中心的过程中取得成功!