自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringBoot动态获取项目部署的端口号

参考:通过Spring boot编码获取当前程序运行的host和端口号_不当初-CSDN博客方法是采用Spring提供的ApplicationListener接口来监听项目的启动,在启动的时候获取到项目的端口号。然后我自己试着采用上面的链接,测试发现,除了项目启动时,能正常打印出端口号,其他业务逻辑执行的时候,获取到的端口号都为0尝试改了一下,代码如下,试着还行,凑合着先用import lombok.Data;import org.springframework.boot.we

2021-12-07 11:02:33 8478

原创 IDEA让代码飞起来,IDEA快捷键

工欲善其事必先利其器,要想快速的开发代码,除了,有扎实的java基本功,我们应该还要先懂一些idea配置1、更改字体,背景颜色。字体的大小,样式不同对每个人造成的视觉疲劳程度也不同,选择适合自己的字体大小,和样式,提高自己的开发效率,重要性毋庸置疑三个步骤:分别更改项目树的字体大小,编辑窗口,以及控制台窗口的字体大小idea快捷键:Alt+...

2020-07-07 16:33:53 448

原创 java方法名,类名,命名规范

1、包的命名: Java包的名字都是由小写单词组成。2、类的命名: 类名是以大写字母开头的名词。如果有多个单词组成,每个单词第一个字母应该大写(骆驼命名法)。不能使用Java保留字作为类名。3、方法的命名: 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。4、变量的命名: 首字母是小写的,接下来的单词都以大...

2020-03-01 21:08:09 17099

原创 取消springboot中的Test类中的日志打印

使用@SpringBootTest注解进行单元测试时, 打印东西的时候,总会伴随很多的无关紧要的日志信息,影响观感。去掉这些日志应该怎么做呢?

2024-03-24 01:30:58 546

原创 【设计模式】-策略模式:优雅处理条件逻辑

策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时根据不同的条件选择不同的算法或行为。它将每个条件分支的逻辑封装在一个独立的类中,使得它们可以独立变化,互不影响。策略模式使用了面向对象的封装、继承和多态等特性,使得代码具备高内聚低耦合的特点。通过将条件逻辑的变化封装到策略类中,不仅可以简化代码的编写,还能提高代码的可维护性、可扩展性和可重用性。通过策略模式,我们可以优雅地处理条件逻辑,将各个条件分支的逻辑封装到独立的策略类中,使得代码结构清晰、易于扩展和维护。

2023-08-10 11:23:41 1881

原创 【设计模式】-装饰器模式

首先,我们需要定义一个接口或抽象类,它定义了核心功能的方法。这个接口或抽象类是被装饰的对象的类型,也是装饰器对象的类型。接下来,我们定义一个装饰器类,它实现了相同的接口或抽象类,并且持有一个核心功能对象的引用。} }

2023-08-07 15:50:01 1373

原创 【设计模式】-代理模式

在软件开发中,经常遇到需要对某个对象进行控制或者监控的场景。而直接修改对象的代码可能使代码变得复杂且难以维护。这时,使用代理模式(Proxy Pattern)可以很好地解决这个问题。代理模式是一种结构型设计模式,,实现对原有对象的控制或扩展。Java中的代理模式常用于实现日志记录权限控制事务控制等功能。

2023-08-07 12:27:55 920

原创 【设计模式】-建造者模式

建造者模式通过将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。它可以帮助我们创建复杂的对象,并保证对象的构建过程可配置和可扩展。在实际应用中,建造者模式具有较高的灵活性和可扩展性。

2023-08-06 02:19:48 1192

原创 【设计模式】-工厂方法模式

该工厂类的子类负责具体的对象创建,每个子类都可以通过实现工厂接口的方式来创建自己的对象。在实际应用中,我们经常需要根据不同的条件或者参数来创建不同的对象。使用工厂方法模式,我们可以通过不同的工厂子类来创建不同的对象,而无需在使用对象的地方编写判断条件或者创建对象的具体代码。

2023-08-06 00:41:48 671

原创 chrome插件推荐

chrome插件推荐

2023-07-26 18:29:06 390

原创 【设计模式】-单例模式

如果对象不存在时,多个线程执行第二行,很有可能都会进入到if方法体中,虽然同一时刻只有一个线程可以获取锁,但是进来的线程已经都在队列中了。如果不加第四行的判断,进来的线程迟早都会获取到锁资源,进而实例化一个新的对象。原理:维护一组单例类的实例,将这些实例存放在一个单例Map中,对于已经登记过的实例,则从Map直接返回,对于没有登记的,则先登记,然后返回。饿汉式,在类创建的同时就已经创建好一个静态的对象,并且以后都不需要重新创建,所以不存在线程不安全的问题。我用的比较少,感兴趣的可以去搜一下。

2022-05-22 21:18:47 327

原创 关于mybatis批量更新(updateBatch)的问题

关于使用循环,依次执行多条update的方式方式如下:<update id="updateBatch"> <foreach collection="list" item="item" index="index" separator=";" open="" close=""> update history_max_num set max_num = #{item.maxNum,jdbcType=DECIMAL} where id = #{

2022-04-18 11:17:44 2174

原创 使用docker搭建ftp服务器

最近在做的一个调度系统的需求里,有一个需求,需要用到ftp服务器进行文件的下载和上传。刚好新分配的两个linux服务器上没有搭建ftp,想着就用docker安装一下。安装的方式,参照:Linux下使用docker搭建ftp服务器 - william_zhao - 博客园顺序无非,拉取镜像,启动服务器,访问服务器。1)docker拉取ftp镜像docker pull fauria/vsftpd2)启动ftp服务器docker run -d -p 2121:21 -p 2020.

2022-03-09 13:59:18 17945 6

原创 Java8 stream 多条件排序,且支持自定义排序

需求:从数据库中查询到实体类的list,需要根据实体类中的某几个字段进行排序。假设:实体类如下:static class SortExample{ private Integer id; private String region; private String fileType; private String fileCode; private String fileSize; ...

2022-03-01 10:33:48 7787 1

原创 命令记录-mysql本地允许远程访问

本地mysql允许远程访问,修改命令如下 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;...

2022-01-28 11:23:10 1663

原创 关于Mybatis查询Sql结果未映射到对应得实体类上

1)如果你写了resultMap的xml映射,那么select标签的属性选择resultMap。且确保column属性中的值对应sql 语句中的列,property属性中的值对应的是实体类中字段名2)如果你没写resultMap的xml映射,那也没事。mybatis会自动帮你映射。但是你的select标签的属性要使用resultType属性,用于指向具体的实体类。但同时,你要满足上面三个条件之一。同时确保mapUnderscoreToCamelCase参数为true。

2022-01-19 14:51:22 19149 3

原创 关于Cannot add or update a child row: a foreign key constraint fails 报错记录

今天导入表数据的时候,insert语句报错,Cannot add or update a child row: a foreign key constraint fails看了访问比较多的是一篇文章,照了试了一下,也不行。明明数据是从另一个库中导出来的,只是导入本地而已。,不应该有问题看了 这个文章 救了老命1)先取消外键约束SET FOREIGN_KEY_CHECKS=0; 2)修改表数据。我的就直接执行insert语句了3)恢复外键约束SET FOREIG...

2022-01-13 11:38:13 376 1

原创 关于RUOYI-CLOUD-NACOS系统的部署

代码:RuoYi-Cloud:(nacos版本)参考:RuoYi-Cloud从配置到运行 - 惊鸿难定 - 博客园RuoYi-Cloud版本分为两种,分别是eureka和nacos的我这里采用的nacos

2022-01-12 15:29:32 2981

原创 Linux上安装多个JDK,并随意切换版本

今天在一个新的服务器上运行项目,发现没有设置JDK的环境变量,导致$JAVA_HOME找不到jdk的安装位置。而且发现JDK版本也不太符合要求。于是又要重装JDK。但是新的JDK不想卸载,能怎么办,只能安装好几个,留着给大家自己选喽1)首先查看当前服务器JDK的版本库,以及安装位置alternatives --config java使用alternatives --config java命令,本身就是选择JDK版本,选择的时候,就能看到当前服务器可以使用的JDK版本,无论是系统自带还是人工

2022-01-12 14:39:08 16692 4

原创 修改Mysql字符集

新建mysql数据库的时候,没有指定字符集和排序规则,导致插入中文的时候,插入失败。由于表已经建好了,使用Dbeaver可以直接修改字符集和排序规则。修改完成之后,点击右下角的save 按钮,再弹框中点击执行按钮。按理说这里样子刷新之后,字符集就改过来了。但是今天新建的好几张表都没修改成功。后来直接在页面执行下面sql语句。竟然就可以了ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE u

2022-01-05 14:35:50 1215

原创 WINDOWS安装多个JDK,并随意切换JDK版本

最近新接手一个项目。启动的时候,发现有些jar和现在正在使用的JDK版本不一致,一直启动有问题。想着就多装一个JDK。由于为了保证java的运行环境和编译环境保持一致,就需要我们设置jdk的环境变量。),多个JDK,就涉及到JDK环境变量的切换问题。

2021-11-30 15:13:47 3607 7

原创 Linux (centos)开放端口

以下命令,适用 Centos7开放或者关闭具体端口1) 首先查看现在所有已开放的端口firewall-cmd --zone=public --list-ports2)开放指定端口firewall-cmd --zone=public --add-port=27017/tcp --permanent设置完成,下面会出现success,但是这时只是设置成功,还没生效。生效需要重启以下防火墙:firewall-cmd --reload3) 移除指定端口firewal...

2021-11-13 23:53:46 1542

原创 Object[] 强制转换为String[]

最近,有个需求需要将List<实体类> 转换成map的,map的key 是由实体类的几个字段拼接而成。这个操作很多,就像写个方法,专门用来拼接key,但是参数的个数不定,因为每个实体类的需要拼接的字段不一定。于是就是入参改成了动态参数。结果如下。/** * 按照主键拼接map的key值 * * @param arg * @return */ private String getKey(String... arg) {

2021-11-09 13:57:28 2544

原创 [ERROR] Malformed \uxxxx encoding.报错解决

今天用idea运行完项目。想直接打包的时候,结果打包失败,一直报错[ERROR] Malformed \uxxxx encoding.网上查了之后,一直说是,有路径在使用斜杠的时候,使用错误。将"\"换成"/"就好了,但是我配置文件、pom文件中,所有涉及到路径的都没有"\"。还有的说,让换个maven仓库,重新下载jar包,但是我的项目所有jar很大,还有一些需要手动导入。换一个maven重新下载jar肯定不现实。直到后来看到一篇文章,https://stackoverflow.com/qu.

2021-10-28 16:30:04 41385 38

原创 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

使用Java jdbc连接mysql的时候报错解决办法如下:修改jdk/jre/lib/security/java.security文件,删除掉SSLv3, TLSv1, TLSv1.1

2021-10-25 15:50:21 2617 8

原创 记录-关于idea运行Tomcat报端口占用,但是却找不到进程占用

使用idea启动tomcat的时候,发现报端口占用异常,但是使用命令:netstat -ano | findstr 1099 却查不到对应的进程。将电脑、tomcat都重启,以及所有的java.exe都杀掉。包括更改端口1089,1087,1098等一系列端口,都不行。而且对应端口的进程都查询不到。看了这个博客:https://blog.csdn.net/m0_54035046/article/details/111820892发现其实是这些端口有可能是被 Hyper-V 保留了..

2021-09-08 10:33:23 863

原创 docker 安装gitlab的时候,忘记root密码。

docker 安装gitlab的时候,忘记root密码。如何初始化密码执行以下四个步骤gitlab-rails consoleuser = User.where(username: ‘root’).firstuser.password = ‘password’user.save![root@localhost tools]# docker exec -it 111fa7bd0e56 /bin/bashroot@gitlab:/# root@gitlab:/# r...

2021-08-27 22:41:53 1082

原创 java计算两个时间相差多少小时

最近有个需求,根据两个时间,计算两个时间之间相差多少个小时。查了一下,网上有现成的工具类,而且翻来覆去都是这个工具类的复制粘贴版摘出自己需要的。得到下面这个 private int getDifferHour(Date startDate, Date endDate) { long dayM = 1000 * 24 * 60 * 60; long hourM = 1000 * 60 * 60; long differ = endDate.getT

2021-08-23 15:58:59 19986 3

原创 SpringBoot打包成War发布到Linux服务器上,使用tomcat启动启动的方式

SpringBoot默认的打包方式是jar,需要发布的时候,可以直接打成jar包,然后放在服务器上,运行java -jar xxx.jar 即可。SpringBoot项目如果采用jar包来启动的话,必须要分配相应的端口,如果对于一些公司,项目很多,或者端口的使用有限制。很有可能有些项目因为端口不够用受限制,所以这个时候,就可以打成war包,采用tomcat启动,使用统一的端口。如果想打成war,放到Tomcat上,使用tomcat来统一启动。那就需要修改一些配置。第一步:修改pom.x.

2021-08-10 11:29:01 1931

原创 List<Map<String,String>> 根据某几个属性值去重

现在有一个场景:一个List中存放了多个Map。现在要使用java8的stream流。根据多个属性值进行联合去重。List数据示例如下:[ { "address": "北京", "sex": "女", "name": "小丽", "age": "23" }, { "address": "北京", "sex": "女", "name": "小丽", "age": "20" }, { "address": "广州", "sex": "男", "na

2021-07-19 20:37:09 1867

原创 关于tomact下同时部署多个war(项目)

直接将多个war放到tomact安装目录下的webapps文件夹下。其他不用操作,然后启动tomact项目。项目地址就是localhost:8080/war包名称。想启动哪个项目就后接哪个war包名称即可关于端口号8080以及为什么放在webapps文件夹下,去看conf下的server.conf文件就行了...

2021-06-23 14:39:23 181

原创 配置Tomact环境变量

Tomcat的安装与环境变量配置首先说明一下我的电脑配置:Windows 7 专业版64位操作系统安装内存8G四核处理器一、Tomcat的下载与安装1.进入Tomcat官网: https://tomcat.apache.org/2.在该网页左侧栏红框标记的download下,选择自己要下载的Tomcat的版本,点进去;也可以在右边红框标记处,点击下载。(因为我个人的需要,我选择了下载Tomcat8)3.根据你电脑的位数,选择合适的进行下载。红框标记是免安装版本的,下载下来进行解压,就可

2021-06-17 15:54:17 167

原创 关于win10使用IDEA时,全局搜索CTRL+SHIFT+F无法使用的情况

一个WIN10的新电脑,装了IDEA之后,发现IDEA的全局搜索失效了,ctrl+shift+f无法使用,倒是,输入法一直在简/繁之间切换,这种情况,就是快捷键占用。win10自带的微软拼音,简体字和繁体字切换的快捷方式就是ctrl+shift+f 关闭该快捷方式的方法如下:1/点击win键 输入设置2,点击时间和语言3.点击左侧语言,然后点击中文(中华人民共和国)4.选项5,拉到最下面,点击微软拼音,然后进入选项。 找到按键,点击进入6.拉到..

2021-05-21 17:35:35 819

原创 关于el-upload上传参数,后台接受对应参数的方法

场景:在页面上增加一个上传按钮,并且鼠标悬停在上传按钮的同时,增加消息提示功能,输出提示信息,上传完成,后台接受详细的图片信息,支持自定义的上传参数,后端接受相应的自定义参数信息。实现: VUE +SpringBoot首先前端代码如下:<el-upload class="upload-demo" ref="upload" :action="uploadParam.url" :on-preview="handlePreview"

2021-05-11 23:22:02 20053 19

原创 本地安装redis 报错

保存信息如下:D:\program file\Redis-x64-5.0.10>redis-server.exe redis.windows.conf[1320] 20 Apr 00:08:05.586 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo[1320] 20 Apr 00:08:05.586 # Redis version=5.0.10, bits=64, commit=1c047b68, modified=0, pid=1320,

2021-04-20 00:14:03 325

转载 2021-03-15Linux系统下安装tomcat

转载,侵删:https://www.cnblogs.com/li150dan/p/12535067.html一、前置条件 安装tomcat需要先安装jdk,所以没有安装jdk同学,详见参考文章二、Linux上安装tomcat1. 下载Apache tomcat tomcat官网下载地址 在左边,可以选择下载各种版本的tomcat。根据服务器操作系统选择下载。Linux操作系统就下载tar.gz包。 我下载的文件名是:apache-tomcat-8.5.3...

2021-03-15 23:03:41 290

原创 centos7虚拟机,输入法,大小写字母颠倒

今天安装centos7虚拟机的时候,发现输入法的大小写完全颠倒.解决办法如下:执行setleds +caps或setleds -caps即可,如图:

2021-03-10 22:01:22 3430

原创 Information:java: javacTask: 源发行版 8 需要目标发行版 1.8

使用IDEA启动项目时,报错如下:Information:java: javacTask: 源发行版 8 需要目标发行版 1.8....Error:java: Compilation failed: internal java compiler error解决:File >>> Settins >>> Build,Execution,Deployment >>> Compiler >>> Java Compli.

2021-02-25 17:46:13 353

原创 电脑安装Hyper-v功能

win10系统本身自带有虚拟机。Hyper -v如果想使用的话,正常情况下,打开控制面板-程序-启用或关闭windows功能,找到并勾选Hyper -v,然后重启计算机即可。但是今天安装的时候,却发现自己的电脑并没有这个功能,查看网上的说法,需要重装系统。感觉很烦很麻烦。又找了另外一种方法。可以不用重装系统1、本地新建一个文本文件。写入一下内容pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum &..

2020-12-20 22:29:38 450

原创 windows10 本地安装mysql 5

1、系统版本windows10 mysql 5-7.322、首先,官网下载mysql的压缩包。https://dev.mysql.com/downloads/mysql/ 这里下载的是 mysql 5-7.32。下载完成,解压到自己的安装文件夹下。3、在mysql的安装路径下,新建一个my.ini文件。新建完成,填入以下内容,重点关注basedir 和datadir配置项。不然很容易报错,当时配置的时候,没在意,结果在下面的步骤中,就报错了。(路径中不要出现中文)[mys...

2020-12-06 00:04:53 403

apidebug.crx

apidebug的插件,直接拖到chrome的可扩展标签页中即可!具体详情,按照文档操作即可,此处的apidebug为英文版,1.0.7版本

2020-02-10

空空如也

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

TA关注的人

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