- 博客(65)
- 收藏
- 关注
原创 Element Plus滚动条el-scrollbar始终保持在底部
【代码】Element Plus滚动条el-scrollbar始终保持在底部。
2023-01-10 17:51:20
6495
18
原创 Weblogic上Easyexcel报com.alibaba.excel.exception.ExcelGenerateException: Can not close IO解决方案
Easyexcel在Weblogic上报com.alibaba.excel.exception.ExcelGenerateException: Can not close IO
2022-08-31 14:26:13
6378
1
原创 google-java-format插件在Idea 2022.2下报错解决方案
google-java-format插件在Idea2022.2下报错解决方案。
2022-08-02 15:54:35
3230
6
原创 Spring Security 5.7.1安全过滤器链配置方法
@RequiredArgsConstructor(onConstructor_ = @Autowired)@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnabled = true)public class WebSecurityConfiguration { @NonNull private AuthenticationSuccessHandler authenticationSuccessHandler; @NonNull p.
2022-05-31 10:54:06
4153
原创 SpringBoot返回XML格式数据
首先,添加Jackson dependency依赖到pom.xml中 <dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId></dependency> 然后,在POJO上添加注解@XmlRootElement Controller中返回XML
2022-05-06 17:14:51
1597
原创 超好用的前端保存文件的解决方案-FileSaver.js
通常我们在前后端分离项目中使用axios下载文件时,代码通常是这样:Javavue使用FileSaver.js创建a标签,并点击,然后删除a标签的代码就变成了FileSaver.saveAs()。FileSaver.js 是在客户端保存文件的解决方案,非常适合在客户端生成文件的 Web 应用程序。https://github.com/eligrey/FileSaver.js...
2022-03-04 09:54:10
4204
原创 Logback1.2.9以下也塌房了,快速修复Logback漏洞
今天Logback也出漏洞了,漏洞说明如下:上次Log4j出漏洞时,就换成了Logback。万万没想到Logback,今天也塌房了。快速修复依赖如下:
2021-12-23 10:30:35
4057
1
原创 快速修复Log4j2远程代码执行漏洞
官方给出的解决方式是升级到最新版(https://github.com/apache/logging-log4j2),但是最新版没有发到Maven仓库。最快接觉的方法是使用slf4j+logback替换注意:如果使用的是默认的日志配置也是存在Log4j-api这个依赖的移除Log4j/Log4j2的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp
2021-12-10 14:19:14
286
2
原创 Mysql查询某个时间段之间,每天中最新的一条记录
有一张表,该表存储着会员积分的变动情况,每次消费或充值后当时的积分情况。次数我们有一个需求,需要统计某段时间内,每天结束前会员的积分曲线表。 分组查询 我们的需求是统计每天最后一次的变动记录,而不仅仅是变动时间,所以这里仅仅使MAX和GROUP BY是没有办法达到我们的需求的。 这个时候,我们就可以使用GROUP_CONCAT和GROUP BY。 GROUP_CONCAT 作用:将GROUP产生的同一个分组中的值连接起来,返回一个字符串。 语法:GROUP_CONCAT( [..
2021-10-15 10:19:10
1940
原创 最快的maven repository-阿里镜像仓库
xiugmaven根目录下的conf文件夹中的setting.xml文件,内容如下:<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirr
2021-06-06 15:16:47
1231
原创 Spring Data Cache、Redis配置序列化为JSON
依赖配置文件配置缓存类型,HOST、用户名等属性配置类配置RedisTemplate的序列化和Spring Data Cache的序列化测试执行代码,可以看到redis中的数据已经被序列化为JSON格式了。源码地址:https://github.com/DDDInJava/portal/tree/Spring_Data_Cache_Redis...
2021-06-03 15:42:55
868
2
原创 使用 Jasypt 进行 Spring Boot 配置
为什么要使用Jasypt?当我们需要在配置文件中存储敏感信息时——这意味着我们实际上是在使这些信息容易受到攻击;这包括任何类型的敏感信息,例如凭据,但肯定不止这些。通过使用 Jasypt,我们可以为属性文件属性提供加密,我们的应用程序将完成解密并检索原始值的工作。使用jasypt -spring-boot-starter我们需要向我们的项目添加一个依赖项:设置加密的盐设置加密盐的方式有几种,常用的有:application.properties中设置jasypt.enc.
2021-05-29 16:18:45
361
原创 如果面试官再问你Spring中的循环依赖怎么解决,就这样告诉他
什么是循环依赖?当一个bean A 依赖另外一个bean B,并且bean B也依赖于bean A时,就会发生这种情况:bean A -> bean B -> bean A当然,中间可能会有其他隐含的bean:bean A -> bean B -> bean C -> bean E -> bean ASpring中循环依赖会发生什么?当Spring上下文加载所有bean时,它会尝试按照他们完成工作所需要的顺序来创建bean。例如,如果我们没有循环依
2021-05-29 14:59:48
341
原创 Spring中的IoC和DI简介
什么是IoC?控制反转是软件工程中的一项原则,它将对象或者程序的部分控制权转移到容器或框架上。我们最常在面向对象编程的上下文中使用它。与我们自定义代码调用库的传统编程相比,IoC使框架能够控制程序流并调用我们的自定义代码。为了实现这一点,框架使用了带有附加行为的抽象。如果我们想添加我们自己的行为,我们需要扩展框架的类或插入我们自己的类。IoC的优点是:将任务的执行与其实现分离 更容易在不同的实现之间切换 程序的模块化程度更高 通过隔离组件或者模拟其依赖项,并允许组件通过协议进行通信,从
2021-05-29 09:50:51
544
原创 Springboot 使用mybatis-spring-boot-starter整合mybatis
Maven依赖包如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven
2021-05-25 10:02:34
1133
1
原创 REST API中的HTTP PUT与POST
在典型的REST体系结构中,客户端以HTTP方法的形式向服务器发送请求,以创建、检索、修改、删除资源。虽然PUT和POST都可以用来创建资源,但是它们在预期的应用程序方面却有着很大的不同。根据RFC 2616标准,应该使用POST方法来请求服务器接受包含的实体作为由Request-URI标识的现有资源的从属。这意味这POST方法将在资源集合下创建一个子资源。另一方面,应该使用PUT方法来请求服务器在提供的Request-URL下存储封闭的实体。如果Request-URI指向服务器上的现有资源,这所提
2021-05-24 09:25:41
657
原创 Centos把springboot的jar做成服务快速重启
cd /etc/systemd/system# 创建一个demo.servicetouch demo.service# 编辑vim demo.service修改jar路径,复制到demo.service中[Unit]# 描述 需修改Description=demo.serviceAfter=syslog.target network.target[Service]Type=simple# jar路径 需修改ExecStart=/usr/bin/java -jar /us.
2021-05-19 13:53:51
208
原创 史上最全、最简单的SpringBoot整合Logback日志
开始之前,说一下,不要再用什么Logback-spring.xml去配置Logback了!!!直接在application.properties里配置它不香?它不简单?logging.level.root=debug# 配置日志文件位置# 指定日志文件的目录, 默认文件名字spring.log# logging.file.path=/log# 指定日志文件的位置,配置了logging.file.name,则logging.file.path不生效logging.file.name=l
2021-05-17 14:23:15
931
原创 腾讯云即时通讯tim-js-sdk在Vue页面组件中销毁destroy
一般我们使用tim都是在某个页面中初始化,使用vue时,多次进入这个页面就会造成Tim对象多次初始化并触发事件。tim其实提供了destroy方法,但是这个方法没有在文档中。使用方法:
2021-05-12 11:11:03
794
原创 数据库与Redis缓存一致性
如今,Redis已成为最浏览的缓存解决方案之一,尽管关系型数据库带了许多很棒的功能,如ACID。但是,为了使用这些功能,数据库的性能在高负载的情况下也会有所下降。为了解决这个问题,许多公司和网站在应用层和数据访问层之间都会增加一个缓存层。通常使用内存中缓存来实现这个缓存层。正如我们所知,传统的关系型数据库的性能瓶颈通常是存储I/O。由于科技的发展和进步,主存储器的价格一直在下降,增加内存已经不是什么难事了,因此现在可以在内存中缓存一部分热点数据来提供性能。背景虽然我们可以把热点数据存储在内存中,
2021-04-29 13:36:15
207
原创 一文帮你整明白ContextClassLoade数据库驱动加载原理
ClassLoader的坑爹特性 - 可见性开篇,我们先讲一下ClassLoader的坑爹特性-可见性,即:父级ClassLoader加载的类对子级ClassLoader可见,反之亦然。接下来我们就对这一坑爹特性做一个验证,我们新建Java项目,项目中只有一个Test类,Test类有两个方法call1和call2:call1有两个参数 - 完整的className和一个ClassLoader。 call2有一个参数 - 完整的className。我们使用这两个方法进行验证。把该Java项目达
2021-04-28 15:23:00
318
原创 Java中的ClasLoader之自定义ClassLoader
自定义ClassLoader在大多数情况下,如果文件已经存在于文件系统中,内置的ClassLoader就足够用了。但是,在需要从本地硬盘驱动器或者网络中的加载类的情况下,我们就可能需要自定义一个ClassLoader。自定义ClassLoader不仅可以在运行时加载类,还有一些其他用例:修改现有的字节码 动态创造符合用户需求的类。例如:在JDBC中,通过动态的加载类完成不同驱动之前的切换 在为具有相同名称和程序包的类加载不同的字节码时,实现类版本控制机制。可以通过URLClassLoad
2021-04-26 11:19:19
960
原创 Java中的ClassLoader
ClassLoader简介ClassLoader负责在运行时将Java类动态加载到JVM中,而且ClassLoader是JRE的一部分。因此,由于ClassLoader的存在,JVM无需了解底层文件和文件系统即可运行Java程序。而且,ClassLoader并不会一次把所有Java类加载到内存中,而是在应用程序需要的时候加载。这就是ClassLoader发挥作用的地方,它们负责将类加载到内存中。内置的CLassLoader的类型下面是一个简单的例子,它展示了不同的类被哪种ClassLoade
2021-04-26 08:33:35
535
1
原创 你还不知道Java异或运算符的妙用?
异或(XOR)运算符当两个boolean类型的变量,locked ^ deleted,如果locked与deleted是不同的,返回true。如果两个操作数是相同的,则返回false。因此,当我们需要同时检查两个不成立的条件时,可以使用异或运算符号。假设我们有两个条件,A和B,下面显示了A ^ B 的可能值:A ^ B 操作等于 (A && !B) || (!A && B) 。在Java中使用接下来让我看一下Java中的异或操作,当然我们可以.
2021-04-21 17:13:26
505
3
原创 到底什么是POJO?
目录概述Plain Old Java Object什么是POJO?对POJO进行反射JavaBeans什么是JavaBean?EmployeePojo转换为JavaBean对JavaBean进行反射是否使用JavaBeans结论概述POJO即“Plain Old Java Object”,下面我们将POJO与JavaBean进行比较,以及如何将POJO转换为JavaBeans。Plain Old Java Object什么是POJO?一般...
2021-04-20 17:30:08
9176
2
原创 搞了这么久微服务,还不知道REST与HTTP之间的区别?
简介通常,REST和HTTP是可以互换使用的。在本文中,我们将研究REST、HTTP的真正含义以及它们为什么是两个不同的东西。什么是REST?REST全称Representational State Transfer表述性状态转移,它最早是在罗伊·菲尔丁(Roy Fielding)的论文中提出。...
2021-04-07 15:46:58
7807
11
原创 Java中如何对一个对象进行深表复制
引言在java中,当我们对一个对象进行复制时,有两种可以考虑的方式-浅复制和深复制当我们仅需要复制字段值时,依赖于原始对象进行浅复制是一种方式。在深复制中,确保树中所有的对象都被深度复制,因此该副本不依赖任何以前可能更改的现有对象。接下来,我们将比较这两种方式,并实现深复制的四种方法。Maven依赖我们将使用这三个依赖包-Gson、Jackson、Apache Commons Lang来进行不同深度复制的测试。添加这三个依赖的Maven坐标到pom.xml文件中。<dep
2021-04-06 14:41:10
315
原创 拒绝手动设置github加速,一键设置github加速,WIN10、Linux、Mac都有
最近公司访问github贼慢,奈何有没有vpn,只能自己手动修改hosts文件指定github直连IP。由于手动太麻烦就用go写了一个脚本,自动设置github.com最优直连IP下载地址:https://github.com/rd-zhaoxin/toolkit.net.cn.github.turbo/releases/tag/1.0WIN10使用方法,右键以管理员身份运行Linux chmod +x github-turbo.for.linux,./github-turbo.for.linux
2021-04-01 14:56:22
816
原创 Golang 代理
MAC/Linuxexport GOPROXY=https://proxy.golang.com.cn,directWindowsgo env -w GOPROXY=https://proxy.golang.com.cn,direct
2021-03-31 17:26:21
265
原创 阿里云盘没有桌面端 (PC/Mac)?10分钟自己撸一个
阿里云盘是个很不错的网盘,不过现在还没有出PC/Mac版,没关系,10分钟自己撸一个。新建一个node项目 mkdir aliyundrive &&cd aliyundrive 初始化项目,并安装electron npm init && yarn add electron -D 新建main.js,代码如下 const { app, BrowserWindow } = require('electron')functio...
2021-03-25 16:04:47
5785
2
原创 不是设计模式的“设计模式”-简单工厂
简单工厂其实不是一个设计模式,它是一种编程习惯。由于经常被使用,它被誉为“Head First Pattern荣誉讲”。有些开发人月经常把这个编程习惯当作“工厂模式”。
2021-03-24 11:12:49
234
原创 Springboot ResponseEntity 下载文件乱码
多半是因为你使用了@RestController,而不是@Controller!!!
2021-03-17 11:24:20
1208
1
原创 nginx 转发常用配置
server { listen 80; server_name toolkit.net.cn; # 打包好的dist目录文件,放置到这个目录下 root /data/; location ~* ^/(code|auth|admin|gen) { proxy_pass http://127.0.0.1:9999; #proxy_set_header Host $http_host; proxy_.
2021-03-09 10:42:36
312
原创 JAVA设计模式-观察者模式
开始了解观察者模式之前,我们先了解一下什么是设计模式、为什么我们要使用设计模式什么是设计模式? 一种针对特定问题的解决方案,这种解决方案被抽象化、模板化后就是设计模式。为什么要使用设计模式?当我们使用第三方的库、框架的是很好,利用他们的API或者组件,放到合适的地方编译成我们自己的程序。但是库与框架并无法帮助我们将应用组织成易了解、易维护、具有弹性的架构,这个时候就需要设计模式。设计是一门艺术,通常有许多可以取舍的地方,如果我们利用这些经过深思熟虑,且经过时间考研的设计模式就可以稍微领先别人了。
2021-03-08 14:56:15
126
原创 腾讯云实时音视频录制回调接口响应
事件消息通知协议网络协议请求:HTTP POST 请求,包体内容为 JSON,每一种消息的具体包体内容参见后文。 应答:HTTP STATUS CODE = 200,服务端忽略应答包具体内容,为了协议友好,建议客户应答内容携带 JSON:{"code":0}通知可靠性事件通知服务具备重试能力,重试间隔为60秒,总计重试3次。为了避免重试对您的服务器以及网络带宽造成冲击,请保持正常回包。触发重试条件如下:长时间(20 秒)未回包应答。 应答 HTTP STATUS 不为200。@P.
2021-01-19 15:14:31
1830
原创 vue中是否有像小程序中的block标签?就是template
小程序中的block1.<block/>并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。2.因为wx:if是一个控制属性,需要将它添加到一个标签上。如果要一次性判断多个组件标签,可以使用一个<block/>标签将多个组件包装起来,并在上边使用wx:if控制属性。vue种使用template可以达到同样的效果:<el-scrollbar class="messageScrollbar" ref="messageScrollbar"&
2021-01-18 16:14:14
12969
3
空空如也
RS232串口数据解析
2023-05-28
串口RS232数据解析
2023-05-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人