springboot 集成 nacos (demo 版)

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

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

文章目录


前言

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


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

一、java 项目准备

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

二、使用步骤

1.引入 nacos 依赖

代码如下(示例):

xml 复制代码
		<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.配置文件

代码如下(示例):

yml 复制代码
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

java 复制代码
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);
  }
}

准备好测试代码:

java 复制代码
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的配置了!

文章到此结束!

源码地址

总结

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

相关推荐
liu_chunhai9 分钟前
设计模式(3)builder
java·开发语言·设计模式
姜学迁17 分钟前
Rust-枚举
开发语言·后端·rust
ya888g1 小时前
GESP C++四级样题卷
java·c++·算法
【D'accumulation】1 小时前
令牌主动失效机制范例(利用redis)注释分析
java·spring boot·redis·后端
小叶学C++1 小时前
【C++】类与对象(下)
java·开发语言·c++
2401_854391081 小时前
高效开发:SpringBoot网上租赁系统实现细节
java·spring boot·后端
Cikiss1 小时前
微服务实战——SpringCache 整合 Redis
java·redis·后端·微服务
wxin_VXbishe1 小时前
springboot合肥师范学院实习实训管理系统-计算机毕业设计源码31290
java·spring boot·python·spring·servlet·django·php
Cikiss1 小时前
微服务实战——平台属性
java·数据库·后端·微服务
无敌の星仔1 小时前
一个月学会Java 第2天 认识类与对象
java·开发语言