SpringBoot项目与Nacos配置全过程

 更新时间:2024年11月28日 15:07:07   作者:小乔努力变强  
本文介绍了如何在SpringBoot项目中使用Nacos作为配置中心,实现动态配置管理和实时更新配置的能力,通过配置命名空间和yml文件,创建SpringBoot项目并添加Nacos依赖,编写Controller和启动类,配置Tomcat启动程序,最终在Nacos服务端注册成功

Spring Boot是一个开发Java应用程序的框架,而Nacos是一个用于配置管理和服务发现的开源平台。

在Spring Boot项目中使用Nacos作为配置中心,可以实现动态配置管理和实时更新配置的能力。

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

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

yml 与properties文件区别?

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

它们有以下区别:

  • 语法结构:YML使用缩进和冒号来表示层级关系,而Properties文件使用键值对的形式表示配置项。
  • 可读性:YML文件使用缩进和结构化的语法,因此更易于阅读和理解。相比之下,Properties文件使用简单的键值对结构,可读性较差。
  • 复杂性:YML文件支持更复杂的数据结构,如列表、嵌套对象等,可以更灵活地表示配置信息。Properties文件只支持简单的键值对,不支持复杂数据结构。
  • 扩展性:YML文件可以轻松地添加注释,以及处理更复杂的配置需求。Properties文件不支持注释,且在处理复杂配置时可能变得冗长和难以维护。
  • 应用场景: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三个依赖

<dependencyManagement>
  <dependencies>
    <!--spring boot,spring cloud,spring cloud alibaba-->
    <!--选用官网稳定的版本-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.3.12.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>Hoxton.SR12</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>

    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
      <version>2.1.2.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

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

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

三、创建子服务

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

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

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

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

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

<dependencies>
        <!-- nacos服务注册/发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--nacos配置中心来做配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
</dependencies>

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

server:
  port: 9000
  servlet:
    context-path: /order-Service
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 152.136.111.77:5555
        namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
      config:
        server-addr: 152.136.111.77:5555
        namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
        prefix: order
        file-extension: yml
  application:
    name: order

四、Controller编写

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

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

package order.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/placeOrder")
@Controller
public class OrderController {
    @GetMapping("/order")
    public String placeOrder(){
        return "已下单";
    }
}

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

package order;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class OrderServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }
}

五、Tomcat启动程序

配置成功

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

总结

通过以上步骤,就可以在Spring Boot项目中使用Nacos作为配置中心,并实现动态配置管理。

在Nacos中更新配置后,应用程序将自动获取最新的配置值。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 集成PageHelper的使用方法

    Spring Boot 集成PageHelper的使用方法

    这篇文章主要介绍了Spring Boot 集成PageHelper的使用方法,文章内容围绕主题展开详细介绍,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-04-04
  • SpringMVC RESTFul实现列表功能

    SpringMVC RESTFul实现列表功能

    这篇文章主要为大家介绍了SpringMVC RESTFul实现列表功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java中JSON字符串反序列化(动态泛型)

    Java中JSON字符串反序列化(动态泛型)

    文章讨论了在定时任务中使用反射调用目标对象时处理动态参数的问题,通过将方法参数存储为JSON字符串并进行反序列化,可以实现动态调用,然而,这种方式容易导致内存溢出(OOM),这篇文章主要介绍了JSON字符串反序列化 动态泛型,需要的朋友可以参考下
    2024-12-12
  • maven实现jar包导入+导出方式

    maven实现jar包导入+导出方式

    这篇文章主要介绍了maven实现jar包导入+导出方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 如何使用Maven管理项目?Maven管理项目实例

    如何使用Maven管理项目?Maven管理项目实例

    下面小编就为大家带来一篇如何使用Maven管理项目?Maven管理项目实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java8 Comparator排序方法实例详解

    Java8 Comparator排序方法实例详解

    这篇文章主要介绍了Java8 Comparator排序方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • JAVA ArrayList详细介绍(示例)

    JAVA ArrayList详细介绍(示例)

    本文对JAVA ArrayList做了详细介绍,文中学到了ArrayList源码解析、ArrayList遍历方式、toArray()异常,最后给出了ArrayList示例。
    2013-11-11
  • springboot中非容器类如何获取配置文件数据

    springboot中非容器类如何获取配置文件数据

    这篇文章主要介绍了springboot中非容器类如何获取配置文件数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Springboot中的三个基本架构

    Springboot中的三个基本架构

    这篇文章主要介绍了Springboot中的三个基本架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • SpringBoot高级配置之临时属性、配置文件、日志、多环境配置详解

    SpringBoot高级配置之临时属性、配置文件、日志、多环境配置详解

    这篇文章主要介绍了SpringBoot高级配置之临时属性、配置文件、日志、多环境配置,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02

最新评论