当前位置: 代码网 > it编程>编程语言>Java > SpringBoot项目与Nacos配置全过程

SpringBoot项目与Nacos配置全过程

2024年11月29日 Java 我要评论
spring boot是一个开发java应用程序的框架,而nacos是一个用于配置管理和服务发现的开源平台。在spring boot项目中使用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中更新配置后,应用程序将自动获取最新的配置值。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com