• SpringBoot项目与Nacos配置


    背景介绍

    Spring Boot是一个开发Java应用程序的框架,而Nacos是一个用于配置管理和服务发现的开源平台。在Spring Boot项目中使用Nacos作为配置中心,可以实现动态配置管理和实时更新配置的能力。

    目录

    一、Nacos服务端配置命名空间和yml文件

    补充:yml 与properties文件区别?

    二、创建SpringBoot项目

    三、创建子服务

    四、Controller编写

    在order-Service服务中按照下图的格式新建两个文件,分别为启动类和请求类

    五、Tomcat启动程序

    配置成功


    一、Nacos服务端配置命名空间和yml文件

    注意:建议大家以自己的名字全拼命名,防止大家搞混

    补充:yml 与properties文件区别?

    YML(YAML)和Properties文件是两种常见的配置文件格式,用于存储应用程序或系统的配置信息。它们有以下区别:

    1. 语法结构:YML使用缩进和冒号来表示层级关系,而Properties文件使用键值对的形式表示配置项。

    2. 可读性:YML文件使用缩进和结构化的语法,因此更易于阅读和理解。相比之下,Properties文件使用简单的键值对结构,可读性较差。

    3. 复杂性:YML文件支持更复杂的数据结构,如列表、嵌套对象等,可以更灵活地表示配置信息。Properties文件只支持简单的键值对,不支持复杂数据结构。

    4. 扩展性:YML文件可以轻松地添加注释,以及处理更复杂的配置需求。Properties文件不支持注释,且在处理复杂配置时可能变得冗长和难以维护。

    5. 应用场景:YML文件适用于需要更复杂结构和层级关系的配置信息,例如Spring Boot应用程序的配置文件。Properties文件适用于简单的键值对配置,常用于Java应用程序的配置文件。

    二、创建SpringBoot项目

    在Idea中左上角选择【File】,右击选择【New】,右击选择【Project】

    此处我们要建立的是SpringBoot项目,在左边的列表中选择【Spring Initializer】,填写项目的名称,配置jdk版本,此处根据自己的实际需要进行配置即可,完成之后点击【Next】

    展开【Web】下拉列表,勾选上【Spring Web】,完成后点击【Finish】

    项目创建成功之后我们会发现会有很多文件夹和文件,我们只需要留下【pom.xml】文件即可,其余文件我们暂时用不到可以先删除

    在父pom.xml中添加spring boot,spring cloud,spring cloud alibaba三个依赖

    1. <dependencyManagement>
    2. <dependencies>
    3. <dependency>
    4. <groupId>org.springframework.bootgroupId>
    5. <artifactId>spring-boot-dependenciesartifactId>
    6. <version>2.3.12.RELEASEversion>
    7. <type>pomtype>
    8. <scope>importscope>
    9. dependency>
    10. <dependency>
    11. <groupId>org.springframework.cloudgroupId>
    12. <artifactId>spring-cloud-dependenciesartifactId>
    13. <version>Hoxton.SR12version>
    14. <type>pomtype>
    15. <scope>importscope>
    16. dependency>
    17. <dependency>
    18. <groupId>com.alibaba.cloudgroupId>
    19. <artifactId>spring-cloud-alibaba-dependenciesartifactId>
    20. <version>2.1.2.RELEASEversion>
    21. <type>pomtype>
    22. <scope>importscope>
    23. dependency>
    24. dependencies>
    25. dependencyManagement>

    修改父pom.xml中配置的SpringBoot版本

    可能会出现版本不兼容的问题,我们在这里将SpringBoot版本修改为【2.3.12.RELEASE】

    三、创建子服务

    这时候我们要新建两个子服务

    点击项目名【NacosInstance】右击选择【New】,右击选择【Module】

    要创建两个子服务都是普通的Maven项目,所以这里我们选择【Maven】就可以,完成后点击【Next】

    输入新创建服务的名称和地址,完成后点击【Finish】

    此时项目中就多了一个名叫order-Service的服务,我们为新添加的服务配置nacos依赖,点击进入oser-service服务的【pom.xml】文件

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.alibaba.cloudgroupId>
    4. <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>com.alibaba.cloudgroupId>
    8. <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
    9. dependency>
    10. <dependency>
    11. <groupId>org.springframework.bootgroupId>
    12. <artifactId>spring-boot-starter-webartifactId>
    13. dependency>
    14. dependencies>

    在order-Service子服务的src文件夹中,选择【resources】右击新建一个yml配置文件,并进行nacos的配置

     

    1. server:
    2. port: 9000
    3. servlet:
    4. context-path: /order-Service
    5. spring:
    6. cloud:
    7. nacos:
    8. discovery:
    9. server-addr: 152.136.111.77:5555
    10. namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
    11. config:
    12. server-addr: 152.136.111.77:5555
    13. namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
    14. prefix: order
    15. file-extension: yml
    16. application:
    17. name: order

    四、Controller编写

    在order-Service服务中按照下图的格式新建两个文件,分别为启动类和请求类

    在【OrderController】类中编写请求的逻辑代码

    1. package order.controller;
    2. import org.springframework.stereotype.Controller;
    3. import org.springframework.web.bind.annotation.GetMapping;
    4. import org.springframework.web.bind.annotation.RequestMapping;
    5. import org.springframework.web.bind.annotation.RestController;
    6. @RestController
    7. @RequestMapping("/placeOrder")
    8. @Controller
    9. public class OrderController {
    10. @GetMapping("/order")
    11. public String placeOrder(){
    12. return "已下单";
    13. }
    14. }

    在【OrderServiceApplication】类中编写程序启动逻辑

    1. package order;
    2. import org.springframework.boot.SpringApplication;
    3. import org.springframework.boot.autoconfigure.SpringBootApplication;
    4. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    5. @SpringBootApplication
    6. @EnableDiscoveryClient
    7. public class OrderServiceApplication {
    8. public static void main(String[] args) {
    9. SpringApplication.run(OrderServiceApplication.class, args);
    10. }
    11. }

    五、Tomcat启动程序

    配置成功

    此时,我们再次在浏览器中打开Nacos服务端,点击【服务列表】,我们配置的order-Service服务就注册成功啦!!

    总结

    通过以上步骤,就可以在Spring Boot项目中使用Nacos作为配置中心,并实现动态配置管理。在Nacos中更新配置后,应用程序将自动获取最新的配置值。

  • 相关阅读:
    525. 连续数组 (前缀和 + 哈希)
    前端一个页面依赖多个接口解决之node接口聚合
    LLM大模型推理加速 vLLM;Qwen vLLM使用案例
    趣味问题《寻人启事》的Python程序解决
    spring boot基于Java的电影院售票与管理系统毕业设计源码011449
    前端的强缓存和协商缓存
    Netty 01 从EchoServer 开始抛砖引玉
    C# File类、Path类复习
    每日一博 - 反向代理、API 网关、负载均衡
    UE4(unreal engine4)地形编辑工具中的无法显示样条线
  • 原文地址:https://blog.csdn.net/weixin_43319713/article/details/126857159