springboot 集成 nacos (demo 版)

news2024/12/26 11:07:14

环境要求:本地安装 nacos(windows版本),jdk 是 8,安装完还得在 nacos 上面配置一个 yaml 类型的配置文件,方便项目演示读取。

提示:如标题所示,本文只介绍如何从零到一的去集成 nacos,不考虑其他。

文章目录

  • 前言
  • 一、java 项目准备
  • 二、使用步骤
    • 1.引入 nacos 依赖
    • 2.配置文件
    • 3.java 代码准备
    • 5.nacos 配置文件准备
    • 5.测试结果
  • 总结


前言

文章只是演示,不具备真正开发用途,旨在帮助类似于刚接触 nacos 的开发人员。


提示:以下是本篇文章正文内容,下面案例可供参考

一、java 项目准备

首先你的项目必须是 springboot 框架哈,jdk 和 starter 版本建议为 8 和 2.2.2.RELEASE(和我的保持一致,不会出现依赖冲突),文章结尾会贴源码。

二、使用步骤

1.引入 nacos 依赖

代码如下(示例):

		<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>

2.配置文件

代码如下(示例):

spring:
    application:
        name: xiaoguai    #为服务名
    cloud:
        nacos:
            username: nacos
            password: nacos
            discovery:
                namespace: monitor
                group: monitor
                server-addr: localhost:8848
            config:
                file-extension: yaml #后缀名,只支持 properties 和 yaml 类型
                prefix: xiaoguai #文件名,如果没有配置则默认为 ${spring.appliction.name}
                namespace: monitor
                auto-refresh: true
                enable-remote-sync-config: true #启用远程同步配置,
                timeout: 3000
                group: DEFAULT_GROUP  #配置组
                refresh-enabled: true
                server-addr: localhost:8848

该配置文件是在 resource 文件夹下面,文件名必须是 bootstrap.yml
以上配置,是针对本地的,如果想测试远程,需要将对应的 ip 、端口号、 application 的name 和 namespace 修改为远程的对应配置,需要注意的是我的 namespace 不是 public,需要大家再创建一个 namespace。


3.java 代码准备

需要再启动文件类上加个注解 @EnableDiscoveryClient

package com.example.demo;

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

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

准备好测试代码:

package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RefreshScope
public class HelloController {

   @Value("${log.level}")
   private String level;
 
    @GetMapping("/info")
    public String getConfigInfo() {
        System.out.println(level);
        return level;
    }
}

这里我们测试远程的记录日志等级。

5.nacos 配置文件准备

大家安装好,进入 nacos 文件夹下的 bin 文件夹,启动命令:startup.cmd -m standalone,出现下图就表示安装成功。

在这里插入图片描述
点击地址,出现如图:

在这里插入图片描述
这一步需要额外创建一个 namespace,步骤如图:

在这里插入图片描述
如果是跟着我的配置来的话参考这张图:

在这里插入图片描述

5.测试结果

项目启动前需要将本地 nacos 提前跑起来哈,如果出现这个图标说明本地 nacos 已经跑起来了:

在这里插入图片描述
测试接口地址:http://localhost:8080/info

出现以下图片表示成功读取nacos的配置了!

在这里插入图片描述
文章到此结束!

源码地址

总结

文章难度不大,大家有时间就按照步骤测试下,如果出现问题也可在评论区说下,大家喜欢也可以点下赞以及收藏,这个真的很重要~~!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1434607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程状态、排队

进程状态 1. 进程排队2. 进程各个状态3. 查看一个进程的状态4. linux内核描述进程状态5. 孤儿进程 1. 进程排队 进程为什么要排队呢&#xff1f;答案就是资源不够。需要等待某个软硬件资源&#xff0c;就像我们常用的scanf函数就是等待键盘资源。 之前的文章我们有个结论&#…

【SpringBoot】策略和模板模式的思考与实践

一、应用场景 之所以会将策略和模板模式放在一起&#xff0c;是因为这两种模式用的最多最广泛&#xff0c;而且基本都是联合使用的。在开始之前&#xff0c;先复习一下模式的定义&#xff1a; 模板模式&#xff08;Template Pattern&#xff09; 模板模式是在一个抽象类中定…

OpenGL 入门(八)— 标准光照模型

标准光照模型 前言颜色创建一个光照场景 标准光照模型环境光照漫反射光照法向量计算漫反射光照完整源码 高光反射完整源码 Gouraud着色 前言 冯氏光照模型(Phong Lighting Model)&#xff1a; 一个通过计算环境光&#xff0c;漫反射&#xff0c;和镜面光分量的值来估计真实光照…

大模型运行成本对比:GPT-3.5/4 vs. 开源托管

在过去的几个月里&#xff0c;生成式人工智能领域出现了许多令人兴奋的新进展。 ChatGPT 于 2022 年底发布&#xff0c;席卷了人工智能世界。 作为回应&#xff0c;各行业开始研究大型语言模型以及如何将其纳入其业务中。 然而&#xff0c;在医疗保健、金融和法律行业等敏感应用…

MATLAB实现高通滤波(附完整代码)

1.MATLAB实现高通滤波器 以下是一个使用MATLAB实现高通滤波器的例子。在这个例子中&#xff0c;我们将设计一个简单的数字高通滤波器&#xff0c;然后将其应用到一个包含低频和高频成分的信号上。 clc;close all;clear all;warning off;%清除变量 rand(seed, 500); randn(s…

算法学习——LeetCode力扣哈希表篇2

算法学习——LeetCode力扣哈希表篇2 454. 四数相加 II 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; 描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 …

PiflowX新增Apache Beam引擎支持

参考资料&#xff1a; Apache Beam 架构原理及应用实践-腾讯云开发者社区-腾讯云 (tencent.com) 在之前的文章中有介绍过&#xff0c;PiflowX是支持spark和flink计算引擎&#xff0c;其架构图如下所示&#xff1a; 在piflow高度抽象的流水线组件的支持下&#xff0c;我们可以…

kubesphere部署k8s-v1.23.10

功能&#xff1a; &#x1f578; 部署 Kubernetes 集群 &#x1f517; Kubernetes 多集群管理 &#x1f916; Kubernetes DevOps &#x1f50e; 云原生可观测性 &#x1f9e9; 基于 Istio 的微服务治理 &#x1f4bb; 应用商店 &#x1f4a1; Kubernetes 边缘节点管理 &#x1…

SD-WAN:企业网络转型的不可逆趋势

随着SD-WAN的逐渐发展和完善&#xff0c;越来越多的企业开始选择SD-WAN进行网络转型。IDC研究显示&#xff0c;已有47%的企业成功迁移到SD-WAN&#xff0c;另有48%的公司表示&#xff0c;未来两个月内将纷纷投入这一技术的部署。 据Channel Futures报道&#xff0c;一位合作伙伴…

网络请求库axios

一、认识Axios库 为什么选择axios? 功能特点: 在浏览器中发送 XMLHttpRequests 请求在 node.js 中发送 http请求支持 Promise API拦截请求和响应转换请求和响应数据 补充: axios名称的由来? 个人理解没有具体的翻译. axios: ajax i/o system 二、axios发送请求 1.axios请求…

sql求解连续两个以上的空座位

Q&#xff1a;查找电影院所有连续可用的座位。 返回按 seat_id 升序排序 的结果表。 测试用例的生成使得两个以上的座位连续可用。 结果表格式如下所示。 A:我们首先找出所有的空座位&#xff1a;1&#xff0c;3&#xff0c;4&#xff0c;5 按照seat_id排序&#xff08;上面已…

滑动小短剧影视微信小程序源码/带支付收益等模式

仿抖音滑动小短剧影视微信小程序源码&#xff0c;带支付收益等模式、支持无限滑动&#xff1b;高性能滑动、预加载、视频预览&#xff0c;支持剧情介绍&#xff0c;集合壁纸另外仿抖音滑动效果&#xff1b;支持会员模式&#xff0c;支持用户单独购买等等多功能。 丰富的后台设…

Deepin系统安装x11vnc远程桌面工具实现无公网ip访问本地桌面

文章目录 1. 安装x11vnc2. 本地远程连接测试3. Deepin安装Cpolar4. 配置公网远程地址5. 公网远程连接Deepin桌面6. 固定连接公网地址7. 固定公网地址连接测试 x11vnc是一种在Linux系统中实现远程桌面控制的工具&#xff0c;它的原理是通过X Window系统的协议来实现远程桌面的展…

2024年2月CCF-全国精英算法大赛题目

第一次参加这种比赛&#xff0c;虽然是c类赛事&#xff0c;但是是ccf主办的&#xff0c;难度还是有点的&#xff0c;主要是前面签到题主要是思想&#xff0c;后面的题目难度太高&#xff0c;身为力扣只刷了一百多道题目的我解决不了&#xff0c;这几道我只做了B,C题,E题超时了&…

html5 audio video

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 不可用&#xff1a; 可用&#xff1a; Google Chrome Close AutoUpdate-CSDN博客

rclone基础命令解析及实战

rclone命令解析及实战 1 rclone介绍&#xff1a;远程同步工具 rclone是一个开源的远程数据同步工具&#xff0c;由Golang编写&#xff0c;旨在在不同平台的文件系统和多种类型的对象存储产品之间提供数据同步功能。 它支持超过 40 种不同的云存储服务&#xff0c;包括 Amazon S…

【代码随想录23】39.组合总和 40.组合总和II 131.分割回文串

目录 39.组合总和题目描述参考代码 40.组合总和II题目描述参考代码 131.分割回文串题目描述参考代码 39.组合总和 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 …

RCS系统之:实时获取机器人的摄像头信息

如何获取摄像头信息呢&#xff1f; 一般人都会想到使用比较流行的RSTP,SMTP或者WebRTC等技术。虽然这些技术比较成熟&#xff0c;使用起来也方便&#xff0c;如果只是一个机器人还好&#xff0c;但是十几上百台机器人的时候&#xff0c;那么将会使内网的数据流量造成非常大的压…

Golang 学习(一)基础知识

面向对象 Golang 也支持面向对象编程(OOP)&#xff0c;但是和传统的面向对象编程有区别&#xff0c;并不是纯粹的面向对象语言。 Golang 没有类(class)&#xff0c;Go 语言的结构体(struct)和其它编程语言的类(class)有同等的地位&#xff0c;Golang 是基于 struct 来实现 OOP…

源码梳理(3)MybatisPlus启动流程

文章目录 1&#xff0c;MybatisPlus的使用示例2&#xff0c;BaseMapper方法的执行2,1 MybatisMapperProxy代理对象2.2 InvocationHandler接口&#xff08;JDK动态代理&#xff09;2.3 MapperMethodInvoker接口2.4 MybatisMapperMethod 3&#xff0c;SqlSession的执行流程3.1 Sq…