SpringBoot2 整合Nacos组件及环境搭建和入门案例解析

yizhihongxing

下面是关于“SpringBoot2 整合Nacos组件及环境搭建和入门案例解析”的完整攻略。

SpringBoot2 整合Nacos组件及环境搭建和入门案例解析

1. 环境搭建

Nacos简介

Nacos是阿里巴巴开源的分布式服务发现、配置管理和服务治理平台。Nacos支持几乎所有主流类型的服务,包括Kubernetes、Mesos、Docker等。

下载Nacos Server

首先需要下载Nacos Server。选择适合自己开发环境的版本,下载后解压。

启动Nacos Server

解压Nacos Server后,在bin目录下执行命令:

sh startup.sh -m standalone

此时Nacos Server应该已经启动了,我们可以通过访问http://localhost:8848/nacos检查一下。

2. SpringBoot整合Nacos

创建SpringBoot项目

使用IDEA或者其他的IDE创建一个SpringBoot项目。

引入依赖

pom.xml中,添加如下依赖:

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

配置Nacos地址和端口

application.properties中,添加如下配置:

# 配置Nacos地址和端口
spring.cloud.nacos.discovery.server-addr=localhost:8848

配置服务名称

application.properties中,添加如下配置:

# 配置服务名称
spring.application.name=example-service

创建Controller类

创建一个Controller类,添加如下注解:

@RestController
@RequestMapping("/hello")
@RefreshScope

其中,@RefreshScope注解是为了支持动态刷新配置。

在Controller类中添加一个方法:

@GetMapping
public String sayHello() {
    return "Hello, Nacos!";
}

选择注册中心

选择注册中心是我们接下来要做的一件事情,我们需要决定将服务注册到哪个地方。

bootstrap.properties中,添加如下配置:

# 选择注册中心
spring.cloud.nacos.discovery.bootstrap=true

这里选择将服务注册到Nacos中。

运行项目

启动SpringBoot项目,并访问http://localhost:8080/hello,即可看到返回结果。

3. 示例说明

示例一:配置文件动态刷新

application.properties中,添加如下配置:

# 配置文件中添加一个参数,值为'world'
hello = world

此时访问http://localhost:8080/hello,返回结果为:

Hello, Nacos world!

接下来我们修改一下配置文件:

# 修改配置文件,将hello的值改为'changed'
hello = changed

此时访问http://localhost:8080/hello,返回结果为:

Hello, Nacos changed!

我们可以看到,程序接收到了新的配置,并生效了。

示例二:服务发现

application.properties中,添加如下配置:

# 配置服务名称
spring.application.name=example-service
# 配置端口
server.port=8080

创建一个新的SpringBoot项目,添加如下配置:

# 配置服务名称
spring.application.name=example-service-consumer
# 配置端口
server.port=8081

在新项目中创建一个Controller类,添加如下注解:

@RestController
@RequestMapping("/hello")

在Controller类中添加一个方法:

@Autowired
private DiscoveryClient discoveryClient;

@GetMapping
public String sayHello() {
    List<String> serviceNames = discoveryClient.getServices();
    return "Hello, " + serviceNames.get(0) + "!";
}

这个方法的作用是在注册中心查询到所有服务的信息,然后返回第一个服务名称。

启动两个项目后,访问http://localhost:8081/hello,返回结果为:

Hello, example-service!

我们可以看到,新项目通过服务发现获得了另一个项目的信息,并成功调用了Controller方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot2 整合Nacos组件及环境搭建和入门案例解析 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • Pytorch中使用ImageFolder读取数据集时忽略特定文件

    在PyTorch中使用ImageFolder读取数据集时,有时候我们需要忽略数据集中的某些特定文件,比如说不是图片文件的文件类型或者无关的噪声文件。下面是使用PyTorch中ImageFolder忽略特定文件的完整攻略。 Step 1: 组织数据集 首先,我们需要组织好我们的数据集。我们可以将数据集放在一个文件夹中,该文件夹下再分成多个类别的文件夹,每个类别…

    人工智能概览 2023年5月25日
    00
  • 解决Tensorflow 使用时cpu编译不支持警告的问题

    下面是解决TensorFlow使用时CPU编译不支持警告的完整攻略: 问题描述 当使用TensorFlow的时候,有时会遇到如下的警告信息: WARNING:tensorflow:From /path/to/your/python/script.py:XX: The TensorFlow library was compiled to use AVX ins…

    人工智能概览 2023年5月25日
    00
  • PyCharm 配置远程python解释器和在本地修改服务器代码

    PyCharm 是一个 Python 集成开发环境(IDE),可以使用它来编辑、运行和调试 Python 代码。PyCharm 还具有配置远程 Python 解释器的功能,可以用于本地修改服务器代码。 以下是配置远程 Python 解释器和在本地修改服务器代码的完整攻略: 配置远程 Python 解释器: 1.1 在服务器上安装 Python 解释器,并且记…

    人工智能概论 2023年5月25日
    00
  • 详解OpenCV执行连通分量标记的方法和分析

    详解OpenCV执行连通分量标记的方法和分析 连通分量标记是一种图像处理算法,可以将图像中相邻像素的区域划分为单个对象。在OpenCV中,可以使用cv2.connectedComponents()函数执行连通分量标记,其基本用法如下所示: retval, labels, stats, centroids = cv2.connectedComponentsWi…

    人工智能概论 2023年5月25日
    00
  • vivo Z5x极光版值得买吗 vivo Z5x极光版开箱体验及评测

    vivo Z5x极光版值得买吗? vivo Z5x极光版是2020年的新品,相比普通版新增了极光色,在外观上非常吸引眼球。其它方面和普通版基本一致,下面分别从外观、性能、拍照和续航4个方面给出评价,帮助大家了解是否值得购买。 外观 vivo Z5x极光版的外观设计采用了极光色,闪耀迷人,非常耐看。背面采用了AG镀膜工艺,手感较为舒适,且能有效防止指纹的留下。…

    人工智能概览 2023年5月25日
    00
  • nginx配置支持https的示例代码

    下面是nginx配置支持https的完整攻略: 1. 生成SSL证书 首先需要从CA机构或者自签颁发机构申请SSL证书,若是自签颁发机构需要通过 OpenSSL 工具生成相应证书,具体操作如下: 安装 OpenSSL 工具 sudo apt-get install openssl 创建自签名请求文件,生成公、私钥对和最终SSL证书 mkdir /etc/ng…

    人工智能概览 2023年5月25日
    00
  • RPA机器人来了,财务人还需要辛苦卖力吗?

    RPA机器人来了,财务人还需要辛苦卖力吗? 什么是RPA机器人 RPA全称为“Robotic Process Automation”,中文翻译为“机器人流程自动化”,是将机器人应用于流程自动化的一种技术。通俗的说,RPA机器人就是能够执行人类处理业务的重复性,低脑力的操作。 RPA机器人在财务领域的应用 在财务领域,RPA机器人可以应用于一系列重复性业务,如…

    人工智能概览 2023年5月25日
    00
  • CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)

    下面为你详细讲解在 CentOS 7.2 下编译安装 PHP 7.0.10 + MySQL 5.7.14 + Nginx 1.10.1 的方法,包含示例说明。 1. 准备工作 在安装之前需要先安装相关依赖包,包括: gcc autoconf libxml2 libxml2-devel openssl openssl-devel curl curl-devel…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部