- 博客(82)
- 收藏
- 关注
原创 Linux 服务器重启之后执行指定脚本文件
有些时候,我们部署服务、中间件、数据库等应用的机器可能会因为机房停电、断电而宕机,这样大部分服务就随之关闭了,可能会需要手动去进行重启,我们可以通过 Linux 的开机启动来实现服务自动重启。
2023-06-15 16:17:23
2395
原创 Windows 安装部署 MinIo
如果修改端口之后,后续在 SpringBoot 中调用 MinIo 上传文件时,可能会提示如下错误,这个是因为我们在代码配置的端口有误。启动之后 API 的端口也会被改变,后续集成到代码中时需要注意,因为代码中调用的端口是这个 S3-API 的端口。执行以下命令即可启动服务(data就是之前创建的用来存储上传文件的目录)如果 9000 端口被别的服务占用了,可以在启动的时候指定服务的端口。执行之后会打印访问的地址,以及账号密码。地址:http://ip:9000。在当前路径,输入 cmd ,回车。
2023-06-02 09:31:06
10472
2
原创 Idea Git 分支合并全部文件或指定文件
这里有两个分支,一个 master 主分支,一个 hy-master 分支二、将 hy-master 全部合并到 master1、先回到 master 分支2、在当前工作目录的分支为 master 的基础上,点击 hy-master 分支点击 Merge into Current,就会将 hy-master 分支的内容合并到当前 master 分支合并成功之后,就会将合并后的代码提交到你的 master 本地仓库,如果你需要推送到远程 master 仓库,前往不要忘记 push 过去。二、将
2023-04-25 09:56:02
4628
2
原创 Linux 通过 rpm 安装 RabbitMQ 详细步骤
RabbitMQ 与 Erlang 版本对应确定好自己 Erlang 和 RabbitMQ 版本之后,我们开始下载。
2022-08-09 10:19:05
2877
1
原创 SpringBoot Maven项目打包分离配置文件和引用依赖等
本文主要记录 SpringBoot + Maven 打包时,如何进行分离,分离相关引用依赖、配置文件、启停脚本等。打包分离的原因背景在日常开发过程中,如果通过手动打包部署时,我们会发现打包出来的 jar 文件一般都会特别大,每次我们只修改了其中部分内容,可能就是修改了其中的某一个类的内容或者几个类的内容,最后都要将整个 jar 包上传到部署服务器,传输过程中就会特别慢,所以这次就来提高我们部署的效率,如果没必要做全量替换,我们就只进行增量或者少量替换。一、工程准备首先创建一个 demo其.
2022-03-14 17:17:39
5097
原创 Idea 中 Git 不提交当前分支修改代码并切换分支
1、当前分支修改代码切换分支日常开发中,我们可能会碰到我们正在修改当前 01 分支的代码,突然要去修改另外一个 02 分支的代码情况,而我们 01 分支写的代码还未经过测试,并不能马上提交,这个时候我们切换到 02 分支就会有问题,比如弹出这种截图因为我们有这些代码没有提交,所以会让我们先操作一下smart checkout:会把冲突的这部分内容带到目的分支(如果你没有点进窗口的那些文件处理冲突的话)force checkout:不会把冲突的这部分内容带到目的分支,但是你在当前分支修改的所有内容就
2021-08-31 17:45:03
11589
7
原创 Windows 安装 Zookeeper 详细步骤
一、 Zookeeper 安装包下载1、官网地址https://zookeeper.apache.org/index.html2、安装包下载这里选择目前的稳定版 3.6.3 下载可以看到有两个选项Apache ZooKeeper 3.6.3(asc, sha512):不带源码Apache ZooKeeper 3.6.3 Source Release(asc, sha512):带源码的安装包,感兴趣可以下载此版本这里我选择不带源码的下载,不带源码的压缩包名称会有一个 -binapac
2021-08-30 18:08:07
14138
10
原创 SpringBoot 集成 Nats 完成消息推送和订阅
基于 SpringBoot + Nats 完成简单的消息推送和订阅本文基于上一篇安装好的 Nats 进行,如未安装,请参见https://blog.youkuaiyun.com/wxw1997a/article/details/117958051官方文档:https://docs.nats.io/developing-with-nats/developer一、Nats 相关配置1、引入相关依赖 <dependency> <groupId>io.nat.
2021-06-21 09:23:31
3316
原创 Linux 安装 Nats
官网地址:https://docs.nats.io/nats-server/installation#downloading-a-release-build一、通过 docker 安装 nats1、拉取 nats 镜像docker pull nats:latest2、启动 nats 容器docker run -p 4222:4222 -ti nats:latest这种方式比较简单,如果你只是想简单做个 demo 玩一下,这样安装运行之后即可在代码里面进行连接使用。接下来我们通过 nats
2021-06-21 09:23:04
2932
原创 SpringBoot 集成 GraphQL 遇到的问题
主要是现在网上关于 GraphQL 的资料比较少,当我在学习的时候出了问题网上也是基本找不到解决方案,所以在此记录下来,后续遇到其他问题也会一一进行记录进来。一、 GraphQL 插件其实我们 Idea 安装的 GraphQL 本身就带有代码检查功能,只是它仅限于检查我们写的 .graphql 脚本文件,所以当 graphql 文件没有问题时当 graphql 文件有问题时比如,我随便写一个错误的语法,我在 root.graphql 中定义的是 Query ,这里继承一个不存在的 Query.
2021-05-26 23:42:59
3346
1
原创 SpringBoot 中集成 GraphQL:深入篇
一、如何使用多个 .graphql 文件type Query 方法名和 resolver 中的方法名必须一致.graphql 文件中定义的对象的属性列,必须在 java 实体类中一一进行对应,java 实体类中可以有不存在二、 复杂查询三、使用 GraphQL 遇到的问题...
2021-05-26 23:42:35
1281
5
原创 Java 中使用 protobuf :复杂深入篇,看这篇就够了!
上篇文章我们遗留了两个问题1、protobuf 怎么运用到我们的项目当中?复杂的 List、Map、内嵌对象等等怎么实现?2、protobuf 怎么和 JSON 互相转换?别急,我们现在继续深入,学习就是要不断深入了解,只有更深入,你才能体会到学习的快乐和成就感一、实现 Java 中 复杂的对象嵌套二、protobuf 和 JSON 互相转换...
2021-05-13 23:53:49
30103
20
原创 Java 中使用 protobuf :入门基础篇,看这篇就够了!
一、什么是 protobuf ?1、protobuf 来源?Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。2、官方解释Protocol Buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据
2021-05-13 23:53:11
47087
8
原创 springboot 集成分布式任务调布平台 XXL_JOB
前言:最近学习到一个新的任务调度框架,觉得非常实用,能满足大部分的定时任务调度开发,故此记录xxl-job 源码下载githubgitee官方文档一、 xxl-job 相关1、调度中心调度中心我们可以理解为一个项目任务管理中心,我们通过注册的形式将一个个项目进行注入并且由调度中心进行统一管理。2、执行器假如我们基于微服务开发,每一个服务都有定时任务,每一个服务都需要注册到调度中心,那么这每一个服务都是一个执行器。3、调度任务每个服务中我们都有许多个定时任务,比如定时清理日志,定时登.
2021-04-15 18:09:52
339
原创 使用 Apache Digester 的注解方式解析 xml
解析 xml,你可以采用 Java 原生支持的 sax、DOM 或者第三方的 dom4j 等。虽然提供了各式各样的解析方式,但是解析一个复杂的 xml 所编写的 Java 代码是非常麻烦的。而 Apache 的 commons 项目中 Digester 项目解决了这个问题,它可以很轻易地将xml文件解析成Java对象,让你直接去使用,而你仅仅需要去预定义一份解析规则,Digester 的内部采用 SAX 来解析 XML 文件。对于解析规则,可以采用如下三种方式Java的方式xml的方式annot
2021-03-05 16:55:35
723
2
原创 springboot 事件发布与监听(@EventListener)
springboot 事件监听与发布springboot 事件发布与监听大致分为三块事件定义定义自己的事件类,继承 ApplicationEvent事件发布注入事件发布类 ApplicationEventPublisher,使用 publishEvent 方法发布相应的事件事件监听实现 ApplicationListener 接口,实现 onApplicationEvent 方法或者使用注解 @EventListener 进行事件监听1、事件定义定义一个学生实体/**
2021-03-05 16:54:09
4193
1
原创 Linux 安装 clamav 进行杀毒
http://112.126.103.100:8888/clamav-for-centos7.6-1810.tar.gzyum install wgetcd /datawget http://112.126.103.100:8888/clamav-for-centos7.6-1810.tar.gztar -zxvf clamav-for-centos7.6-1810cd clamav-for-centos7.6-1810./install.sh递归扫描clamscan -r–quiet
2021-03-05 09:30:11
744
原创 Java 集合(容器)
Java 集合框架容器Java 集合框架主要包括两种类型的接口容器collection,存储元素集合map,存储键值对一、Collection 接口的三个子类型List、Set 和 Queue,工作中比较常用的就是 List 和 SetList:存储的数据是有序的,可重复的Set:存储的数据是无序的,不可重复的,数据具有唯一性1、List 接口下的数据结构ArrayList:Object[] 数组Vector:Object[] 数组LindedList:双向链表(JDK1.
2021-02-24 14:47:42
138
原创 springboot 实现微信小程序订阅消息的信息推送
微信小程序订阅消息推送:参考官方文档关于小程序订阅消息「订阅消息」需要用户主动订阅消息通知,开发者才可向用户推送,也就是需要做本文第二大点,第1小点的操作,且用户同意之后才可1、一次性订阅消息:用户订阅一次后,开发者可下发一条消息,不限时间。若用户勾选了“总是保持以上选择,不再询问”且点击了允许,那么以后都默认同意订阅这条消息。用户不再做多次选择,开发者也避免了更繁琐的提醒。2、长期性订阅消息:用户订阅一次后,可长期下发多条消息。目前长期性订阅消息向政务、医疗、交通、金融、教育等线下公共.
2021-01-26 15:37:21
2033
5
原创 Linux 部署 springboot jar 包
因为 springboot 有内置 tomcat 容器,所以我们在 linux 部署 springboot 项目的时候可以不安装 tomcat ,直接用 jar 包进行部署。一、springboot 相关配置1、配置文件springboot 项目中,有如下三个配置文件,一个主配置文件,两个不同环境的配置文件application.yml 主配置文件内容spring: profiles: active: prod2、将项目打成 jar 包将 springboot 项目打成 j.
2021-01-11 11:33:43
751
1
原创 Linux 关于防火墙和 mysql 的一些基本操作
LInux 下 一些基本操作1、为mysql 用户授权所有数据库权限 all:所有权限 *.*:所有数据库 admin:用户 grant all privileges on *.* to "admin"@"%";2、mysql 数据库 启动/停止命令 service mysqld stop -- 停止 service mysqld start --启动3、查看mysql 运...
2021-01-07 11:02:26
545
原创 Linux 下配置 jdk 环境变量
一、检查服务器环境1、检查是否存在 openjdk使用 java javac 检查是否存在 jdk 环境java如果存在会输出相关信息使用如下命令检查服务器是否存在自带的 openjdkrpm -qa|grep jdk如果输出这些信息,表示存在自带的 openjdk2、删除自带的 openjdk删掉自带的 openjdk,使用如下命令,后面跟上要删除的名称,一个一个删掉yum -y remove yum -y remove java-1.8.0-openjdk-headles
2021-01-05 11:18:25
258
原创 springboot 中使用 openfeign 进行接口调用
在项目开发过程中,我们开发的项目或多或少都会与其他交互的系统进行对接集成,或者是微服务项目之间进行调用,双方相互调用接口来获取或者传递数据,以往我们使用的方式可能有 httpClient、okhttp、httpUrlConnection 等等,今天来学习一下如何使用 openfeign 来进行调用。一、feign 和 openfeign ?Feign 是 Springcloud 组件中的一个轻量级 Restful 的 HTTP 服务客户端,Feign 内置了 Ribbon,用来做客户端负载均衡,去调.
2020-12-31 17:37:30
13979
4
原创 Win10 连接远程桌面:出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正
在使用 Win10系统的时候,连接远程桌面可能会出现这个错误解决方案一、修改本地组策略1、win+R打开运行窗口,输入以下命令,点击确定gpedit.msc2、修改本地组策略计算机配置”->“管理模板”->“系统”->“凭据分配”设置名称: 加密数据库修正双击进行打开选择已启用、易受攻击然后应用,确定二、修改注册表信息1、win+R打开运行窗口,输入以下命令,点击确定regedit2、增加注册表参数进入以下路径HKEY_LOCAL_MACH
2020-12-30 17:33:32
842
原创 强大且实用的数据库文档导出工具 DBCHM
一、工具获取1、工具下载下载地址2、使用下载之后,解压压缩包,无需安装双击 DBCHM.exe 即可运行二、工具使用运行之后,主界面是这样的,我这里已经新建了一个连接1、新建连接2、导出格式众多导出格式的选择,总有一款适合你3、测试导出这里导出为 HTML 格式,如下...
2020-12-21 11:14:49
1743
2
原创 Chrome 浏览器下载速度慢?一个开关就可解决
一、Chrome下载速度慢的原因:Google 为了兼容所有的电脑性能和带宽,采取的是保守单线程下载方案但 Chrome 提供了开关,我们可以打开它的多线程下载二、解决方法1、打开 Chrome 浏览器,将以下内容复制到地址栏,回车,会出现下面的Chrome 实验性功能chrome://flags/2、搜索如下内容Parallel downloading3、正常进来这里应该默认的都是 Default 选中 Enabled 就可以了选中修改之后,Chrome 会自动将浏览
2020-12-18 14:19:11
11930
1
原创 记一次升级 springboot 2.1.6 升级到 2.3.4 版本导致的文件上传失败问题
因为项目发布在阿里云服务器上,阿里云安全中心会对项目进行扫描,最近检测到项目上用的 springboot 框架版本存在反射型文件下载漏洞,所以需要升级 springboot 版本这一版本升级可真是差点要人老命我这边原本用的 springboot 版本是 2.1.6,需要升级到 2.3.4升级固然很好,springboot 也增加了部分新功能,优化了一些 bug但是,升级也去掉了一部分之前存在的功能问题现象springboot 升级之后,原本用的好好的文件上传咋就不行了呢,真让人头痛报错信息.
2020-11-17 10:35:00
2473
原创 MyBatis-Plus 逻辑删除功能
在项目开发中,我们的表中可能会存在这样一个字段,用来标识这条数据是否有效或者是否删除,就是一个物理删除和逻辑删除的概念。物理删除,就是直接 delete 数据的操作逻辑删除,就是在业务逻辑上,标识某一条数据是删除的,不能再操作以往的操作可能是我们自己手动对相关字段 update 来进行逻辑删除的概念,然后查询时再通过条件过滤相关删除的数据,今天我们使用 MyBatis-Plus 之后,这一切就变得简单了起来!一、相关依赖及配置1、引入 pom 依赖<dependencies> .
2020-11-04 10:17:49
1957
1
原创 MyBatis-Plus 公共字段填充功能
本文基于 SpringBoot在项目开发过程中,我们的数据库表中,经常不可避免的会出现一些公共字段,比如创建人信息、创建时间、修改人信息、修改时间等等相关信息,我们一般都是拿到当前操作人员 set 相关属性进行写入,或者利用 aop 、反射等相关技术进行处理,当我们使用了 MyBatis-Plus 之后,这一切就变得简单起来了一、引入 MyBatis-Plus1、引入相关依赖<dependencies> <dependency> <groupId>o.
2020-11-03 16:32:32
2378
1
原创 mybatis plus 一些封装的常用方法
本次代码结构都是通过 mybatis plus 代码生成器直接生成因为 mybatis plus 在 service 层和在 mapper 层中封装的方法有部分差异,所以这里特别分开进行罗列一、mybatis plus 在 service 中封装的常用的方法package com.wxw.springboot_mybatisplus.sys.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrap.
2020-10-23 15:06:36
4136
原创 Arrays.asList() 一个非常有意思的地方
一、问题现象前几天用用反射的时候,用了一下 Arrays.asList() 方法,将获取到的属性数组转换成 list后面需要对这个属性 list 里面的元素进行操作,发现会抛出一个异常UnsupportedOperationException那么到底是什么原因呢?我们继续往下深究二、问题原因我们查看一下 asList() 方法的源码实际上是 new 了一个 ArrayList(),然后这个 ArrayList 是一个内部类,它继承了一个 AbstractList 类,这个 Abstra
2020-09-10 15:01:59
188
原创 Linux Tomcat 启动速度慢或者老是卡住
一、问题现象1、Linux 上启动 Tomcat 时会卡在某一个地方tomcat 在启动的时候会卡在这里,这句话也不是报错,只是告诉我们正在部署web应用程序目录,比如这里,部署web应用程序目录/webapps/examples,但是发现它部署了好久还没部署完,这个时候就回感觉到奇怪了,为什么要这么长时间呢?org.apache.catalina.startup.HostConfig.deployDirectory Deploying webapplication directory[/dat
2020-09-10 14:47:34
1056
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人