SpringCloud2023集成Nacos2.4.3

基本都是最新版,踩了两天的坑终于集成上了,实现了多环境配置。使用版本----关键应用版本备注Java21Oracle OpenJDK 21.0.5Spring Boot3.2.4Spring Cloud2023.0.1Spring Cloud Alibaba2023.0.1.3Nacos2.4.3单机模式nacos安装-------我学习过程使用的是windows环境,从GitHub的nacos主页下载对应的zip包。解压,修改字符编码的配置。到KaTeX parse error: Double superscript at position 545: ...40 | : ' '̲; | / ...{spring-boot.version} pom import org.springframework.cloud spring-cloud-dependencies spring−cloud.version</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring−cloud−alibaba−dependencies</artifactId><version>{spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>spring−cloud.version</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring−cloud−alibaba−dependencies</artifactId><version>{spring-cloud-alibaba.version} pom import org.springframework.boot spring-boot-maven-plugin org.projectlombok lombok Spring Cloud集成nacos-------------------application.xml配置: # SpringBoot Configuration server: port: 8080 spring: profiles: # 此处可为空,为空和default等价 # 通过修改active的值来修改运行的环境配置 active: dev # 应用名可以自定义 application: name: micro-service01 # 使用字符串填充的方式设置要读取的配置 config: import: - nacos:spring.cloud.nacos.config.prefix.{spring.cloud.nacos.config.prefix}.spring.cloud.nacos.config.prefix.{spring.cloud.nacos.config.file-extension}?refreshEnabled=true - nacos:spring.cloud.nacos.config.prefix−{spring.cloud.nacos.config.prefix}-spring.cloud.nacos.config.prefix−{spring.profiles.active}.${spring.cloud.nacos.config.file-extension}?refreshEnabled=true cloud: nacos: # nacos的ip、登录账号以及密码可统一设置,或者在 config以及discovery中单独设置 username: nacos password: nacos server-addr: 127.0.0.1:8848 # config设置要读取的nacos配置 config: enabled: true namespace: learn-cloud # 设置要读取的nacos配置的格式 file-extension: yaml prefix: micro-service # discovery设置服务被发现的设置,比如此处设置服务在learn-cloud的命名空间被发现 discovery: namespace: learn-cloud register-enabled: true management: endpoint: health: show-details: always endpoints: web: exposure: include: "" logging: level: com.alibaba.cloud.nacos.configdata: debug 在Spring Boot启动类获取一下使用的环境配置,然后修改spring.profiles.active的值来验证一下是否成功切换配置。 / * @EnableDiscoveryClient 开启服务注册发现的功能 */ @SpringBootApplication @EnableDiscoveryClient public class MicroService01Application { public static void main(String\[\] args) throws InterruptedException { ConfigurableApplicationContext applicationContext = SpringApplication.run(MicroService01Application.class, args); while (true) { String userName = applicationContext.getEnvironment().getProperty("User.name"); String userAge = applicationContext.getEnvironment().getProperty("User.age"); //获取当前部署的环境 String currentEnv = applicationContext.getEnvironment().getProperty("current.env"); String currentConfig = applicationContext.getEnvironment().getProperty("current.config"); System.err.println("in "+currentEnv+" environment; "+"Config:"+ currentConfig +"; Username :" + userName + "; Age: " + userAge); TimeUnit.SECONDS.sleep(1); } } }

相关推荐
Su米苏10 分钟前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园22 分钟前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁24 分钟前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网39 分钟前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西1 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨1 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车5552 小时前
java反射、自定义注解的应用(自定义分页)
java
BLUcoding2 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
yuniko-n3 小时前
【JUC】Lock 和 synchronzied 锁
java
西柚小萌新3 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库