自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

易雪寒的博客

欲明明德者,致知在格物

  • 博客(371)
  • 收藏
  • 关注

原创 SpringBoot学习之Kafka发送消费消息入门实例(三十五)

至于topic如何创建请参考本篇文章的上两篇文章:【SpringBoot学习之Kafka下载安装和启动【Windows版本】(三十四)】【SpringBoot学习之Kafka下载安装和启动【Mac版本】(三十三)】2、 我们成功在控制台看到了我们的消费者消费到了生产者发送的消息,其中第一条消息是我在上一篇文章中首次下载安装通过命令行发送给消费者的。这里我们定义一个Controller来生产消息,定义一个方法,方法中使用kafkaTemplate对象发送消息给指定的topic,1、加入kafka依赖。

2024-04-24 00:04:55 4

原创 SpringBoot学习之Kafka下载安装和启动【Windows版本】(三十四)

我们先进入到根目录,然后右键【在终端中打开】,输入下面命令启动zookeeper,4、找到conf目录下的server.properties文件,用编辑器打开,修改log.dirs目录如下,最后的kafka目录是我们手动增加的。3、我们先进入到根目录,然后右键【在终端中打开】,输入下面命令启动kafka服务,没有报错就是启动成功了。如果提示命令太长的,我们就把文件夹直接改成kafka,重复上面的操作,没有报错就是启动成功了。在根目录下,右键【在终端中打开】,输入下面命令创建一个叫test1的Topic。

2024-04-23 17:12:45 190

原创 SpringBoot学习之Kafka下载安装和启动【Mac版本】(三十三)

2、启动ZooKeeper服务,Kafka需要使用ZooKeeper,所以首先需要启动ZooKeeper服务,注意了Kafka是自带了Zookeeper的。3、进入到bin目录下执行 下面命令,看到截图所示没有报错,即表示Zookeeper启动成功。访问Apache Kafka官方网站下载最新版的Kafka二进制文件。在生产端输入信息后回车,到消费者端可以看到生产端发送的信息。--from-beginning:从头开始消费。看到截图这个就表示Kafka启动成功了。5、查看topic列表(可选)

2024-04-19 01:37:41 787

原创 执行npm命令一直出现sill idealTree buildDeps怎么办?

下不是nodejs里面),进入到对应目录下,Mac启动显示隐藏文件操作(Command+Shift+".")也没有发现有这个.npmrc目录。2、打开一个终端,输入下面命令以后才能出现这个文件目录,执行以后就出现上面这个.npmrc目录了。4、你可能还需要重新设置镜像地址,下面两个地址你都试一下,这里我是设置了国外原来镜像地址有用。6、重新执行npm命令(这里我是在VSCode中的终端执行的),终于成功了。1、网上查了一下,有网友说先删除。

2024-04-12 00:48:29 535

原创 SpringBoot学习之Kibana和Elasticsearch-Head的下载安装和启动(三十二)

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。

2024-04-08 03:06:32 358 2

原创 SpringBoot学习之ElasticSearch下载安装和启动(Mac版)(三十一)

本篇是接上一篇Windows版本,需要Windows版本的请看上一篇,这里我们继续把Elasticsearch简称为ES,以下都是这样。

2024-03-25 23:40:26 307 1

原创 SpringBoot学习之ElasticSearch下载安装和启动(Windows版)(三十)

本文先写windows下的下载安装和启动,后续有时间再补充docker版本下的,毕竟docker现在用的公司和个人太多了,这里我们后续对ElasticSearch简称为ES,不做赘叙。

2024-03-25 14:21:41 635 1

原创 SpringBoot学习之自定义注解和AOP切面统一保存操作日志(二十九)

这个注解是用来控制是否需要保存操作日志的自定义注解(这个类似标记或者开关)

2024-03-08 18:34:24 192

原创 代码整洁之道之优化if-else的8种方案(一)

可以消除if-else。上述方案都可以达到优化if-else的效果,但是采用那种方案还是要看具体的代码逻辑以及业务处理逻辑,重要的是要评估项目的复杂性、维护性和性能需求,选择最适合项目需求的优化方案。我们可以将一些操作(比如一些状态)的一些共性的方法抽象成一个公共接口,然后针对这些操作实现这些接口完成不同的逻辑,在调用时我们只需要传入对应的操作类即可,对外的操作方法都是同一个。我们日常开发的项目中,如果代码中存在大量的if-else语句,阅读起来非常的折磨(直接劝退),维护起来也很难,也特别容易出问题。

2024-02-28 14:17:44 30

原创 解决端口被占用的问题

我们输入: netstat -aon | findstr 8080,返回信息如下,可以看到该端口被20312进程占用。我们输入:taskkill -pid 20312 -f,返回信息如下,可以看到占用该端口的进程已经被杀死了。如果不放心的话,我们还可以在用1中的命令查一遍,可以看到之前监听的两个进程已经被杀掉了。netstat -aon | findstr “端口”taskkill -pid "进程号" -f。2、我们用下面命令杀死这个占用端口的进程。

2023-12-13 11:04:12 95

原创 SpringCloudAlibaba实战入门之Sentinel初体验-流量控制(八)

PS:但是官网下载巨慢而且中途会无故自动终止,这里有个小技巧,可以使用迅雷,复制下载地址到迅雷,迅雷会大概率提供免费使用一分钟超级会员,一般这种几百兆的下载一分钟超级会员是足够下载完或者下载大部分。刷新我们的sentinel开源项目,我们在浏览器中短时间内快速请求上面两个接口请求,刷新页面我们在实时监控页面可以看到如下,至此我们的微服务项目在发送请求时候被sentinel成功监听到了。1、复制之前的项目模块,创建一个新的项目模块,模块名称读者自己设置,这里我们叫cloud-sentinel-1007。

2023-07-06 16:46:16 667

原创 SpringCloudAlibaba实战入门之Dubbo(基于Nacos注册中心)(七)

一、Dubbo介绍Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架。致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。服务提供者在启动时,向注册中心注册自己提供的服务。服务消费者在启动时,向注册中心订阅自己所需的服务。注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。服务消费者,从提供者地址列表中,基于负载均衡算法,选择提供者进行调用。

2023-07-05 17:55:42 268

原创 SpringCloudAlibaba实战入门之RocketMQ消息发送(六)

本篇文章是承接上一篇文章《SpringCloudAlibaba实战入门之RocketMQ下载配置和启动(五)》,如果没有看过上一篇文章并按照指导配置和启动Rocket MQ的网友,请先阅读该篇文章以后再阅读本篇。

2023-06-30 18:07:44 691

原创 SpringCloudAlibaba实战入门之RocketMQ下载配置和启动(五)

发送消息时,用户只指定Topic,Producer会根据Topic的路由信息选择具体发到哪个Queue上。RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。Topic:主题,用于将消息按主题做划分,Producer将消息发往指定的Topic,Consumer订阅该Topic就可以收到这条消息。

2023-06-30 11:35:00 588

原创 SpringCloudAlibaba实战入门之Nacos动态配置(四)

上篇文章介绍了,除此之外,还有一个重要功能就是作为分布式配置中心,那这篇文章就介绍下 Nacos 作为配置中心的基本用法,首先我们先了解下为什么需要使用配置中心。

2023-06-29 09:40:17 250

原创 SpringBoot学习之集成JWT(二十八)

需要创建JWT拦截器,以用来对RestApi接口进行验证是否在提交请求时候带有合法的JWT,当然我们也可以自定义注解用来对没有JWT token的请求直接放行。可以看到,输入正确的token以后拦截器对于除登录注册以外的接口都予以放行通过,关于更多JWT的知识后续我们再补充讲解,我们下回再见。既然JWT需要创建和验证,那么我们需要新建一个工具类,其中包含核心两大方法创建JWT和验证JWT。登录swagger界面,我们直接测试登录和注册以外的接口,比如下面的根据ID获取用户的接口,

2023-05-23 22:28:12 438

原创 SpringBoot学习之集成Swagger3(二十七)

输入token,点击Authorize成功后,Authorize会变成Logout,点击Close即可,后面我们就可以随意访问任何需要验证登录的接口了。地址成功跳转后,界面大致如下,则表示swagger3基本配置成功。通过登录接口(登录数据自己在数据库中创建一些测试用户,userService部分此处不做详细说明),我们可以返回如下token。本篇文章内容较多,读者可以结合自己水平和理解能力酌情学习其中部分内容和代码,今天的内容到此为止,我们下次再见。-- Druid 数据连接池依赖 -->

2023-05-20 22:18:15 664

原创 SpringBoot学习之集成Redis(二十六)

redis的常用使用场景,可以做缓存,分布式锁,自增序列等,使用redis的方式和我们使用数据库的方式差不多,首先我们要在自己的本机电脑或者服务器上安装一个redis的服务器,通过我们的java客户端在程序中进行集成,然后通过客户端完成对redis的增删改查操作。由此可以说明我们的Redis可以成功的存取收据,今天的博客到此为止,如果有疑问的请留言,我们下次再见。如果有不知道怎么下载和安装Redis的网友,请留言我再考虑补充,类似博客网上随手可得,此处不表。

2023-05-20 19:11:55 96

原创 SpringCloudAlibaba实战入门之手把手教你创建第一个SpringCloudAlibaba项目(二)

SpringCloudAlibaba实战入门之手把手创建第一个SpringCloudAlibaba项目(基于Nacos注册)(三)

2022-09-08 18:59:40 1424

原创 SpringBoot学习之自定义注解(二十五)

SpringBoot学习之自定义注解

2022-08-06 02:23:57 176

原创 SpringBoot学习之注解校验参数@Validated@Valid(二十四)

SpringBoot学习之注解校验参数

2022-08-04 23:17:29 224

原创 SpringBoot学习之事件监听ApplicationListener和@EventListener(二十三)

事件监听是Spring提供的一种重要的通讯技术,他可以最大限度的解耦对象之间的关系,通过事件监听来实现对象之间的通讯一、内置事件序号 Spring 内置事件 & 描述 1 ContextRefreshedEvent ApplicationContext 被初始化或刷新时,该事件被发布。这也可以在 ConfigurableApplicationContext接口中使用 refresh() 方法来发生。此处的初始化是指:所有的Bean被成功装载,后处理Bean被检

2022-05-21 01:43:32 278

原创 解决maven出现“连接到http://repo.maven.apache.org被拒绝”的问题

1、原因这个问题的原因就是无法连接到http://repo.maven.apache.org/maven2镜像2、解决办法修改maven默认镜像仓库地址为国内可用的镜像地址,比如这里推荐阿里的镜像仓库地址http://maven.aliyun.com/nexus/content/groups/public/该镜像仓库地址亲测可用,而且速度极快,强烈推荐3、操作步骤1、找到你IDEA配置的maven位置2、检查你的maven对应的settings.xml文件到底是使用的哪一

2022-05-18 02:11:26 15861 2

原创 SpringBoot学习之Mybatis-Plus实现多数据源(二十二)

用过Mybatis-Plus的小伙伴一定对其炫技般的功能赞叹不已,今天我们来实战讲解他的另一个非常重要的功能:多数据源切换功能。所谓多数据源切换就是我们的项目用到了至少两个以上的数据库,我们希望可以随时随地自由的切换我们想要操作的数据库,自己利用AOP或者其他方式自己实现是一项比较麻烦的事情,但是今天看看利用MyBatis-Plus只需要简单的几步就能完美的让我们实现该功能。一、添加对应的starter<dependency> <groupId>c...

2022-05-18 01:59:20 257

原创 Java设置系统日期和时间

需求:利用java实现设置系统的日期和时间一、代码Demo1package com.xu.demo.test;import java.io.IOException;public class SetDateTime { public static void main(String[] args) { //Operating system name String osName = System.getProperty("os.name");

2022-05-06 02:10:02 6336 2

原创 SpringCloudAlibaba实战入门之Nacos下载安装和启动(三)

SpringCloudAlibaba实战入门之注册中心Nacos(二)一、什么是 NacosNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”

2022-04-08 02:16:36 235

原创 SpringCloudAlibaba实战入门之入门介绍(一)

一、什么是SpringCloud在介绍Spring Cloud Alibaba之前,我们先简单的说一下Spring Cloud。提起微服务,不得不提 Spring Cloud全家桶系列,SpringCloud 是一系列框架的有序集合。Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,简化了分布式系统集成设施的开发。Spring Cloud提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。

2022-03-28 01:37:48 637

原创 SpringBoot学习之EasyExcel2.2.3导入导出Excel(二十一)

项目中经常需要解析Excel表格并读取数据,之前很多人用过POI,但是POI技术明显有点老旧,存在的问题很多,比如当文件较大时候就会存在内存溢出,而且代码臃肿设计落后,不支持注解式编程,这些问题都严重影响了POI的学习和使用。为了解决POI的不足,阿里巴巴推出了开源Excel解析工具EasyExcel,并且现在已经升级到EasyExcel2.x版本【关于EasyExcel1.x版本实例请看我之前的一篇文章或者网上其他网友】,2.x版本进一步优化精简了代码提高了易用性,加强...

2022-01-09 14:55:59 475

原创 SpringBoot学习之统一异常处理(二十)

异常处理是Java程序员最头痛的问题之一,存在的问题如下:有些异常是可以预料的,有些异常是无法及时预料到的,能预料的异常可以处理,那不能预料的异常怎么办? 预料到的异常每个人处理方式不一样,有的程序员会选择向上抛出,抛出了还要考虑有没有上层代码处理呢? 有的程序员选择自己手动处理异常,即使自己手动处理,每个程序员处理方式和处理结果也不一样返回的异常提示也不一样?那有没有办法呢,有!今天我们就来讲一下Java开发中的统一异常处理,彻底解决这上面三个恼火的问题。在学习本...

2021-12-17 02:10:13 713

原创 SpringBoot学习之统一JSON结构自动封装(十九)

SringBoot开发中经常涉及到前后端接口对接,后端需要把数据封装成固定JSON结构以方便前端更好的解析和使用,比如这样:常规操作是我们定义一个统一返回结构,在拿到数据以后自己手动封装一下,比如用下面这个结构:package com.xu.wemall.commons.utils;import com.xu.wemall.commons.enums.ResultEnum;import lombok.Data;import java.io.Serializa...

2021-12-03 01:45:47 658

原创 SpringBoot学习之Swagger3和开源升级界面(十八)

一、创建一个spring boot 项目二、 pom.xml里引入包<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version></dependency>三、创建SwaggerConfig配置.

2021-12-02 03:45:27 682

原创 SpringCloud学习之新一代网关Gateway实战体验(十五)

1.1SpringCloud Gateway 简介SpringCloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuu.

2021-11-27 00:11:02 126

原创 Springboot学习之线程池任务调度类ThreadPoolTaskScheduler(十七)

springboot中有一个bean,ThreadPoolTaskScheduler,可以很方便的对重复执行的任务进行调度管理;相比于通过java自带的周期性任务线程池ScheduleThreadPoolExecutor,此bean对象支持根据cron表达式创建周期性任务。...

2021-08-26 03:04:11 847

原创 SpringBoot学习之基于Log4j2的自定义日志初体验(三十)

对于一个Java程序员来说,创建一个SpringBoot项目重要性不言而喻,但是对于某些小白来说,仍然可能面临一些不可想象的困难,这里将所有我知道的总结如下。一、IDEA旗舰版【IDEA Ultimate Edtion】当你有办法搞到IDEA旗舰版j激活码或者买到正版的License时候,创建一个SpringBoot见会变得无比荒谬的简单1、File ----> New ------> Prject2、找到Spring Initializer,填写右边项...

2021-08-23 01:27:56 780

原创 SpringBoot学习之手把手教你怎么用IDEA实现远程调试(十六)

一般时候我们都是选择在本地打断点,然后启动debug调试程序,但是有时候可能本地调试没有毛病,但是远程运行就出现一些奇奇怪怪的问题,所以我们这个时候必须用到远程调试。以下操作是基于2021版IDEA和JDK1.8版本,项目是一个标准的SpringBoot项目。一、配置远程调试配置1、点击图中位置,打开Edit Configuration2、点击这里的+号,找到Remote JVM Debug3、配置远程调试二、启动你的项目通过SSH远程工具登...

2021-08-14 23:30:08 525

原创 CountDownLatch的介绍和使用

1、类介绍java.util.concurrent.CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。...

2021-06-18 02:50:52 338

原创 Java8-ThreadLocal的Lambda构造方式:withInitial

Java8中ThreadLocal对象提供了一个Lambda构造方式,实现了非常简洁的构造方法:withInitial。这个方法采用Lambda方式传入实现了 Supplier 函数接口的参数。写法如下:

2021-06-10 02:41:36 1064

原创 Java高级技术之List线程不安全的一点说明

1、List 是线程不安全的学过Java的朋友都知道List是线程不安全的,什么是线程不安全,多个线程同一时刻对同一个全局变量(同一份资源)做写操作(读操作不会涉及线程安全)时,如果跟我们预期的结果一样,我们就称之为线程安全,反之,线程不安全。...

2021-06-10 02:14:39 2110

原创 SpringBoot学习之Spring消息事件处理机制(十五)

1. 使用ApplicationEventPublisher 发布事件复制下面全部代码,右键包名,粘贴即可生成java类,执行即可看到效果。事件机制:需要自定义一个事件类继承ApplicationEvent;需要自定义一个监听器类实现ApplicationListener接口,或普通类的方法中使用@EventListener注解;使用默认发布器ApplicationEventPublisher发布即可;事件类不需要注入到IOC;监听器需要注入到IOC;ApplicationEventPubl

2021-06-04 03:11:03 687 1

原创 Spring Boot学习之Profile多环境的配置(十四)

Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活 ,制定参数等方式快速切换环境多profile文件形式:--格式:application - {profile}.properties :eg :application-test.propertiesapplication-pro.properties多profile文档块模式:...

2021-06-01 03:52:48 462

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除