springcloud整合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配置

2.1 新建命名空间

image-20230606232920729

2.2新建配置

image-20230606233129828

image-20230606233549054

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工具测试结果

image-20230606233847071

以上整个示例就完成了

如果需要完整源码请关注公众号"架构殿堂" ,回复 "springcloud+nacos配置中心"获得

写在最后

如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot,spring cloud等系列文章,一系列干货随时送达!

猜你喜欢

转载自blog.csdn.net/jinxinxin1314/article/details/131078356