【微服务】Nacos(注册中心)

news/2024/5/8 18:26:45/文章来源:https://blog.csdn.net/m0_64637029/article/details/137088145

文章目录

    • 1.基本介绍
        • 1.概述
        • 2.Nacos下载和运行(java8/maven3.2.x+)
          • 1.解压到没有中文路径的
          • 2.双击startup
          • 3.浏览器输入http://192.168.242.124:8848/nacos
          • 4.用户名和密码为nacos
          • 5.cmd输入netstat -anb | more查看监听端口
    • 2.创建Nacos服务提供者 10004
        • 1.项目架构
        • 2.步骤说明
        • 3.创建模块 member-service-nacos-provider-10004 作为服务提供者
        • 4.父项目pom.xml指定依赖版本
        • 5.本模块pom.xml 引入依赖,nacos的服务发现
        • 6.参考10001模块来构建
          • 1.到10001模块复制main目录下的所有文件夹
          • 2.粘贴到10004模块的main目录下
          • 3.修改application.yml,并注册到nacos
          • 4.重新创建主启动类,开启nacos服务发现
          • 5.修改controller,更好的显示信息
        • 7.测试
          • 1.确保启动了nacos(startup)
          • 2.启动10004微服务模块,http://localhost:8848/nacos 查看注册情况
          • 3.浏览器测试这个服务提供者
    • 3.创建Nacos服务提供者集群 10006
        • 1.创建与10004模块功能相同的子模块 member-service-nacos-provider-10006
        • 2.pom.xml 将10004模块的依赖复制过来
        • 3.复制10004模块的main目录下的文件夹并粘贴到10006
        • 4.修改application.yml的服务端口和服务名称
        • 5.修改10004模块的服务名称
        • 6.修改主启动类的名称
        • 7.修改controller,显示信息
        • 8.测试
          • 1.首先保证nacos8848是启动的
          • 2.启动10006和10004微服务
          • 3.浏览器输入 http://localhost:8848/nacos/ 查看注册状态
          • 4.postman测试
    • 4.创建nacos服务消费方
        • 1.架构图
        • 2.创建服务消费模块 member-service-nacos-consumer-81
        • 3.pom.xml 引入依赖,主要是nacos的服务发现依赖
        • 4.application.yml 配置nacos的服务注册
        • 5.编写启动类,开启nacos服务发现
        • 6.com/sun/springcloud/config/CustomizationBean.java 配置类注入RestTemplate,并且赋予负载均衡的能力
        • 7.使用RestTemplate进行远程调用的流程
        • 8.编写controller进行远程调用(详细步骤)
          • 1.获取两个服务的名字 member-service-nacos-provider
          • 2.com/sun/springcloud/controller/MemberNacosConsumerController.java
            • 1.controller类的注解跟要远程调用的注解保持一致
            • 2.依赖注入RestTemplate进行远程调用
            • 3.声明服务发现的前缀
            • 4.先将要调用的方法直接粘贴过来,删除方法体
            • 5.使用RestTemplate进行远程调用
            • 6.可以修改请求这个方法的url(其实也只有这个地方才可以修改了,其他的直接粘贴即可)
            • 7.完整源代码
            • 8.增加远程调用
          • 9.测试
            • 1.启动两个服务提供集群10004和10006以及刚才的服务消费方81模块
            • 2. 查看服务注册情况
            • 3.postman测试服务消费方的远程调用
    • 5.Ribbon配置负载均衡算法
        • 1.com/sun/springcloud/config/RibbonRule.java 配置类直接注入一个负载均衡算法对象

1.基本介绍

1.概述

image-20240327135542520

2.Nacos下载和运行(java8/maven3.2.x+)
1.解压到没有中文路径的

image-20240327140107896

2.双击startup

image-20240327140211858

3.浏览器输入http://192.168.242.124:8848/nacos

image-20240327140323406

image-20240327140403075

4.用户名和密码为nacos

image-20240327140435912

5.cmd输入netstat -anb | more查看监听端口

image-20240327140626228

2.创建Nacos服务提供者 10004

1.项目架构

image-20240327141235881

2.步骤说明

image-20240327141407947

3.创建模块 member-service-nacos-provider-10004 作为服务提供者

4.父项目pom.xml指定依赖版本

image-20240327142127291

5.本模块pom.xml 引入依赖,nacos的服务发现
    <dependencies><!--引入nacos的服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!-- springboot web starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 如果在子工程/模块指定了 version,则以指定为准 --></dependency><!--1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息等2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- mybatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><!-- druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><!-- 这里我们重新指定一下 version 因为父项目中没有对这个依赖进行版本仲裁--><version>1.1.13</version></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- jdbc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 公共模块的jar包 --><dependency><groupId>org.example</groupId><artifactId>e_commerce_center-common-api</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
6.参考10001模块来构建
1.到10001模块复制main目录下的所有文件夹

image-20240327143008052

2.粘贴到10004模块的main目录下

image-20240327143121202

3.修改application.yml,并注册到nacos
server:port: 10004 # 配置服务端口
spring:application:name: member-service-nacos-provider-10004 # 配置服务的名称,名字任意这里与项目名保持一致datasource:type: com.alibaba.druid.pool.DruidDataSource# 别忘记创建数据库之后修改数据库名称url: username: password: 
# 配置naocscloud:nacos:discovery:server-addr: localhost:8848 # 配置nacos的地址
# 暴露所有的监控点
management:endpoints:web:exposure:include: "*"
mybatis:mapper-locations: classpath:mapper/*.xml # 扫描所有Mapper.xmltype-aliases-package: com.sun.springcloud.entity # 扫描所有实体类,可以直接使用类名来标识
4.重新创建主启动类,开启nacos服务发现
package com.sun.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @author 孙显圣* @version 1.0*/
@SpringBootApplication
@EnableDiscoveryClient // 开启nacos服务发现
public class MemberNacosProviderApplication10004 {public static void main(String[] args) {SpringApplication.run(MemberNacosProviderApplication10004.class, args);}
}
5.修改controller,更好的显示信息

7.测试
1.确保启动了nacos(startup)

image-20240327144600573

image-20240327144619406

2.启动10004微服务模块,http://localhost:8848/nacos 查看注册情况

image-20240327144919122

image-20240327145141350

image-20240327145203135

3.浏览器测试这个服务提供者

image-20240327145357654

3.创建Nacos服务提供者集群 10006

1.创建与10004模块功能相同的子模块 member-service-nacos-provider-10006

image-20240327150057419

2.pom.xml 将10004模块的依赖复制过来
    <dependencies><!--引入nacos 的服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!-- springboot web starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 如果在子工程/模块指定了 version,则以指定为准 --></dependency><!--1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息等2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- mybatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><!-- druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><!-- 这里我们重新指定一下 version 因为父项目中没有对这个依赖进行版本仲裁--><version>1.1.13</version></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- jdbc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 公共模块的jar包 --><dependency><groupId>org.example</groupId><artifactId>e_commerce_center-common-api</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
3.复制10004模块的main目录下的文件夹并粘贴到10006

image-20240327150857496

image-20240327150941065

4.修改application.yml的服务端口和服务名称
server:port: 10006 # 配置服务端口
spring:6application:name: member-service-nacos-provider # 配置服务的名称datasource:type: com.alibaba.druid.pool.DruidDataSource# 别忘记创建数据库之后修改数据库名称url:username: password: 
# 配置naocscloud:nacos:discovery:server-addr: localhost:8848 # 配置nacos的地址
# 暴露所有的监控点
management:endpoints:web:exposure:include: "*"
mybatis:mapper-locations: classpath:mapper/*.xml # 扫描所有Mapper.xmltype-aliases-package: com.sun.springcloud.entity # 扫描所有实体类,可以直接使用类名来标识
5.修改10004模块的服务名称
  • 因为两个模块的功能是相同的,只是做成了一个集群,所以名字需要相同

image-20240327153501008

6.修改主启动类的名称

image-20240327153734367

7.修改controller,显示信息

image-20240327153851127

8.测试
1.首先保证nacos8848是启动的
2.启动10006和10004微服务

image-20240327154116142

3.浏览器输入 http://localhost:8848/nacos/ 查看注册状态

image-20240327154232481

image-20240327154244470

4.postman测试

image-20240327154440510

4.创建nacos服务消费方

1.架构图

2.创建服务消费模块 member-service-nacos-consumer-81

image-20240327155429614

3.pom.xml 引入依赖,主要是nacos的服务发现依赖
    <dependencies><!--引入nacos的服务发现--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!-- springboot web starter 用来监听端口--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 如果在子工程/模块指定了 version,则以指定为准 --></dependency><!--1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息等2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- test --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 公共模块的jar包 --><dependency><groupId>org.example</groupId><artifactId>e_commerce_center-common-api</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies>
4.application.yml 配置nacos的服务注册
server:port: 81
spring:application:name: member-service-nacos-consumer-81
# 配置nacos的服务注册cloud:nacos:discovery:server-addr: localhost:8848 # 配置要注册到的nacos地址,根据实际情况填写
5.编写启动类,开启nacos服务发现
package com.sun.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @author 孙显圣* @version 1.0*/
@SpringBootApplication // springboot启动类
@EnableDiscoveryClient // 开启nacos服务发现
public class MemberNacosCostomerApplication81 {public static void main(String[] args) {SpringApplication.run(MemberNacosCostomerApplication81.class, args);}
}
6.com/sun/springcloud/config/CustomizationBean.java 配置类注入RestTemplate,并且赋予负载均衡的能力
package com.sun.springcloud.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;/*** 配置类注入RestTemplate,并且赋予负载均衡的能力** @author 孙显圣* @version 1.0*/
@Configuration // 标识这是一个配置类
public class CustomizationBean {@Bean@LoadBalanced // 赋予RestTemplate负载均衡的能力public RestTemplate restTemplate() {return new RestTemplate();}}
7.使用RestTemplate进行远程调用的流程
  • pom.xml 配置nacos的服务发现依赖
  • application.yml 配置nacos的服务注册
  • 启动类开启nacos的服务发现
  • 配置类配置RestTemplate和负载均衡算法
  • 编写远程调用的controller
    • 复制要调用controller上面的注解
    • 注入RestTemplate 用作远程调用
    • 获取要远程调用的 application name
    • 根据 application name声明服务发现的前缀http://application name (这个可以找到远程调用的上下文路径)
    • 服务发现(使用声明的服务发现前缀) + 目标接口路径 进行拼接即可访问目标接口,Ribbon负载均衡算法
    • 使用RestTemplate进行远程调用
8.编写controller进行远程调用(详细步骤)
1.获取两个服务的名字 member-service-nacos-provider

image-20240327162303492

2.com/sun/springcloud/controller/MemberNacosConsumerController.java
1.controller类的注解跟要远程调用的注解保持一致

image-20240327165224126

2.依赖注入RestTemplate进行远程调用

image-20240327165242867

3.声明服务发现的前缀
  • 这里需要注意:服务发现的只是ip+端口+上下文路径,并不包括协议

image-20240327165349990

4.先将要调用的方法直接粘贴过来,删除方法体

image-20240327165626608

5.使用RestTemplate进行远程调用

image-20240327165712538

6.可以修改请求这个方法的url(其实也只有这个地方才可以修改了,其他的直接粘贴即可)

image-20240327170251604

7.完整源代码
package com.sun.springcloud.controller;import com.sun.springcloud.entity.Member;
import com.sun.springcloud.util.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;/*** @author 孙显圣* @version 1.0* @Description: 远程调用MemberController的控制器*/
@RestController // controller注解跟要调用的服务的controller一样
@Slf4j
public class MemberNacosConsumerController {// 注入restTemplate 进行远程调用@Resourceprivate RestTemplate restTemplate;// 声明服务发现的前缀// 服务发现的的是ip+端口+上下文路径public static final String MEMBER_SERVICE_PROVIDER_URL = "http://member-service-nacos-provider";// 远程调用MemberController的save方法@PostMapping("/member/nacos/consumer/save")public Result save(@RequestBody Member member) {// 远程调用member-service-nacos-provider的save方法return restTemplate.postForObject(MEMBER_SERVICE_PROVIDER_URL + "/member/save", member, Result.class);}}
8.增加远程调用
  • 直接将要调用的方法粘贴过来,然后使用copliot直接tab即可
  • 如果想修改,就修改一下url
    @GetMapping("/member/nacos/consumer/get/{id}") // 这里使用的路径参数public Result getMemberById(@PathVariable("id") Long id) {// 远程调用member-service-nacos-provider的getMemberById方法return restTemplate.getForObject(MEMBER_SERVICE_PROVIDER_URL + "/member/get/" + id, Result.class);}
9.测试
1.启动两个服务提供集群10004和10006以及刚才的服务消费方81模块

image-20240327171242583

2. 查看服务注册情况

浏览器输入:http://192.168.242.124:8848/nacos/index.html

image-20240327171420700

3.postman测试服务消费方的远程调用

image-20240327171600337

image-20240327172138849

5.Ribbon配置负载均衡算法

1.com/sun/springcloud/config/RibbonRule.java 配置类直接注入一个负载均衡算法对象
package com.sun.springcloud.config;import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/** 配置类,用于配置Ribbon的负载均衡策略* @author 孙显圣* @version 1.0*/
@Configuration
public class RibbonRule {@Beanpublic IRule ribbonRule() {// 随机策略return new RandomRule();}
}

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VLAN的原理及配置

文章目录 一、VLAN的概述1、VLAN的概念2、VLAN的优势 二、静态VLAN三、静态VLAN的配置1.VLAN的范围2.VLAN基本配置 四、Trunk和access的作用参考 一、VLAN的概述 1、VLAN的概念 VLAN就是将网络从逻辑上划分为若按个小的网络&#xff0c;也就是虚拟局域网。 2、VLAN的优势 使…

鸿蒙OS开发案例:【API9】遍历沙漏文件夹并输入文件的大小

1.获取打印文件大小 /*** 获取打印文件大小*/static getFileSize(byteNum: number) {if (byteNum < 0) {return "shouldnt be less than zero!";} else if (byteNum < 1024) {return ${byteNum.toFixed(3)}B;} else if (byteNum < 1048576) {return (byteNu…

37.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-解码器细化类的实现

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;36.数据解码器的…

剑指Offer题目笔记19(二分查找)

面试题68&#xff1a; 问题&#xff1a; ​ 输入一个排序的整形数组nums和一个目标值t&#xff0c;如果数组nums中包含t&#xff0c;则返回在数组中的下标&#xff0c;否则返回按照顺序插入到数组的下标。 解决方案&#xff1a; ​ 使用二分查找。每次二分查找都选取位于数组…

鸿蒙HarmonyOS应用开发之使用Node-API实现跨语言交互开发流程

使用Node-API实现跨语言交互&#xff0c;首先需要按照Node-API的机制实现模块的注册和加载等相关动作。 ArkTS/JS侧&#xff1a;实现C方法的调用。代码比较简单&#xff0c;import一个对应的so库后&#xff0c;即可调用C方法。 Native侧&#xff1a;.cpp文件&#xff0c;实现模…

左手医生:医疗 AI 企业的云原生提效降本之路

相信这样的经历对很多人来说并不陌生&#xff1a;为了能到更好的医院治病&#xff0c;不惜路途遥远奔波到大城市&#xff1b;或者只是看个小病&#xff0c;也得排上半天长队。这些由于医疗资源分配不均导致的就医问题已是老生长谈。 云计算、人工智能、大数据等技术的发展和融…

centos2anolis

我的centos7原地升级到anolis7记录 注意&#xff1a;如果是桌面版请先卸载firefox&#xff0c;否则so文件冲突。 参考&#xff1a; CentOS 7和8Linux系统迁移到国产Linux龙蜥Anolis OS 8手册_disable pam_pkcs11 module in pam configuration-CSDN博客 关于 CentOS 迁移龙蜥…

[2021]Zookeeper getAcl命令未授权访问漏洞概述与解决

今天在漏洞扫描的时候蹦出来一个zookeeper的漏洞问题&#xff0c;即使是非zookeeper的节点&#xff0c;或者是非集群内部节点&#xff0c;也可以通过nc扫描2181端口&#xff0c;获取极多的zk信息。关于漏洞的详细描述参考apache zookeeper官方概述&#xff1a;CVE-2018-8012: A…

ps国潮样机合集,内含茶杯、包装礼盒、抱枕、手机等

ps国潮样机合集&#xff0c;内含茶杯、包装礼盒、抱枕、手机等 链接&#xff1a;https://pan.baidu.com/s/1T-pXLcbHhHsZYho0WoV00g?pwdi5gs 提取码&#xff1a;i5gs 部分展示图 首先&#xff0c;PS样机的作用&#xff1a; 产品验证&#xff1a;PS样机可以帮助设计师和制…

【二叉树】Leetcode 102. 二叉树的层序遍历【中等】

二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09; 示例1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 解题思路…

第二篇:3.1 广告印象(AD Impression) - IAB与MRC及《增强现实广告效果测量指南1.0》

--- 我为什么要翻译美国IAB科技公司系列标准 翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象&#xff08;AD Impression&#xff09;第三篇广告效果测量定义和其他矩阵之- 3.2 可见度 …

最新的Flutter3.x版本获取应用包名的方法

以前的flutter项目可以在 AndroidManifest.xml 中获取应用包名&#xff0c; 最新的Flutter3.x版本要获取应用包名可以找到build.gradle 更多内容参考&#xff1a;最新的Flutter3.x版本如何获取应用包名

视图的作用

目录 视图的作用 创建视图 为 scott 分配创建视图的权限 查询视图 复杂视图的创建 视图更新的限制问题 更新视图中数据的部门编号&#xff08;视图的存在条件&#xff09; 限制通过视图修改数据表内容 创建只读的视图 复杂视图创建 oracle从入门到总裁:​​​​​​h…

UMass、MIT等提出3D世界具身基础模型,机器人根据生成的世界模型无缝连接3D感知、推理和行动

在最近的研究中&#xff0c;视觉-语言-动作&#xff08;VLA&#xff0c;vision-language-action&#xff09;模型的输入基本都是2D数据&#xff0c;没有集成更通用的3D物理世界。 此外&#xff0c;现有的模型通过学习「感知到动作的直接映射」来进行动作预测&#xff0c;忽略了…

数据结构——线性表(一)

线性表&#xff0c;顾名思义&#xff0c;是具有像线一样的性质的表。如同学生们在操场上排队&#xff0c;一个跟着一个排队&#xff0c;有一个打头&#xff0c;有一个收尾&#xff0c;在其中的学生都知道前一个是谁&#xff0c;后一个是谁&#xff0c;这样就像一根线将他们都串…

html页面使用@for(){},@if(){},利用jquery 获取当前class在列表中的下标

基于以前的项目进行修改优化&#xff0c;前端代码根据List元素在html里进行遍历显示 原先的代码&#xff1a; 其中&#xff0c;noticeGuide.Id是标识noticeGuide的唯一值&#xff0c;但是不是从0开始的【是数据库自增字段】 但是在页面初始化加载的时候&#xff0c;我们只想…

鸿蒙OS开发问题:(ArkTS) 【解决中文乱码 string2Uint8Array、uint8Array2String】

在进行base64编码中&#xff0c;遇到中文如果不进行处理一定会出现乱码 let result1: string CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse((一二三四五六七八九十123)))LogUtils.i("result1 " result1);let result2: string CryptoJS.enc.Base64.par…

mac-git上传至github(ssh版本,个人tokens总出错)

第一步 git clone https://github.com/用户名/项目名.git 第二步 cd 项目名 第三步 将本地的文件移动到项目下 第四步 git add . 第五步 git commit -m "添加****文件夹" 第六步 git push origin main 报错&#xff1a; 采用ssh验证 本地文件链接公钥 …

软件杯 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…

电脑windows 蓝屏【恢复—无法加载操作系统,原因是关键系统驱动程序丢失或包含错误。.......】

当你碰到下图这种情况的电脑蓝屏&#xff0c;先别急着重装系统&#xff0c;小编本来也是想重装系统的&#xff0c;但是太麻烦&#xff0c;重装系统后你还得重装各种软件&#xff0c;太麻烦了&#xff01;&#xff01; 这种情况下&#xff0c;你就拿出你的启动U盘&#xff0c;进…