自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DDDInJava

一看就会,一学就废...

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

原创 Element Plus滚动条el-scrollbar始终保持在底部

【代码】Element Plus滚动条el-scrollbar始终保持在底部。

2023-01-10 17:51:20 5043 18

原创 使用SSH反向转发服务器上的请求到个人电脑

使用SSH反向转发服务器上的请求到个人电脑或所在局域网的任何电脑

2022-08-31 14:46:07 864

原创 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 5293

原创 google-java-format插件在Idea 2022.2下报错解决方案

google-java-format插件在Idea2022.2下报错解决方案。

2022-08-02 15:54:35 2522 6

原创 Docker安装Mongodb

Docker运行Mongodb

2022-06-14 10:27:28 680

原创 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 3965

原创 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 1498

原创 超好用的前端保存文件的解决方案-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 3635

原创 Logback1.2.9以下也塌房了,快速修复Logback漏洞

今天Logback也出漏洞了,漏洞说明如下:上次Log4j出漏洞时,就换成了Logback。万万没想到Logback,今天也塌房了。快速修复依赖如下:

2021-12-23 10:30:35 3539 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 244 2

原创 Mysql查询某个时间段之间,每天中最新的一条记录

有一张表,该表存储着会员积分的变动情况,每次消费或充值后当时的积分情况。次数我们有一个需求,需要统计某段时间内,每天结束前会员的积分曲线表。 分组查询 我们的需求是统计每天最后一次的变动记录,而不仅仅是变动时间,所以这里仅仅使MAX和GROUP BY是没有办法达到我们的需求的。 这个时候,我们就可以使用GROUP_CONCAT和GROUP BY。 GROUP_CONCAT 作用:将GROUP产生的同一个分组中的值连接起来,返回一个字符串。 语法:GROUP_CONCAT( [..

2021-10-15 10:19:10 1720

原创 最快的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 1106

原创 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 772 2

原创 使用 Jasypt 进行 Spring Boot 配置

为什么要使用Jasypt?当我们需要在配置文件中存储敏感信息时——这意味着我们实际上是在使这些信息容易受到攻击;这包括任何类型的敏感信息,例如凭据,但肯定不止这些。通过使用 Jasypt,我们可以为属性文件属性提供加密,我们的应用程序将完成解密并检索原始值的工作。使用jasypt -spring-boot-starter我们需要向我们的项目添加一个依赖项:设置加密的盐设置加密盐的方式有几种,常用的有:application.properties中设置jasypt.enc.

2021-05-29 16:18:45 277

原创 如果面试官再问你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 307

原创 Spring中的IoC和DI简介

什么是IoC?控制反转是软件工程中的一项原则,它将对象或者程序的部分控制权转移到容器或框架上。我们最常在面向对象编程的上下文中使用它。与我们自定义代码调用库的传统编程相比,IoC使框架能够控制程序流并调用我们的自定义代码。为了实现这一点,框架使用了带有附加行为的抽象。如果我们想添加我们自己的行为,我们需要扩展框架的类或插入我们自己的类。IoC的优点是:将任务的执行与其实现分离 更容易在不同的实现之间切换 程序的模块化程度更高 通过隔离组件或者模拟其依赖项,并允许组件通过协议进行通信,从

2021-05-29 09:50:51 477

原创 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 1059 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 577

原创 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 160

原创 史上最全、最简单的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 751

原创 腾讯云即时通讯tim-js-sdk在Vue页面组件中销毁destroy

一般我们使用tim都是在某个页面中初始化,使用vue时,多次进入这个页面就会造成Tim对象多次初始化并触发事件。tim其实提供了destroy方法,但是这个方法没有在文档中。使用方法:

2021-05-12 11:11:03 736

原创 CSS炫酷金箔字体

2021-05-10 15:54:22 1148

原创 数据库与Redis缓存一致性

如今,Redis已成为最浏览的缓存解决方案之一,尽管关系型数据库带了许多很棒的功能,如ACID。但是,为了使用这些功能,数据库的性能在高负载的情况下也会有所下降。为了解决这个问题,许多公司和网站在应用层和数据访问层之间都会增加一个缓存层。通常使用内存中缓存来实现这个缓存层。正如我们所知,传统的关系型数据库的性能瓶颈通常是存储I/O。由于科技的发展和进步,主存储器的价格一直在下降,增加内存已经不是什么难事了,因此现在可以在内存中缓存一部分热点数据来提供性能。背景虽然我们可以把热点数据存储在内存中,

2021-04-29 13:36:15 168

原创 一文帮你整明白ContextClassLoade数据库驱动加载原理

ClassLoader的坑爹特性 - 可见性开篇,我们先讲一下ClassLoader的坑爹特性-可见性,即:父级ClassLoader加载的类对子级ClassLoader可见,反之亦然。接下来我们就对这一坑爹特性做一个验证,我们新建Java项目,项目中只有一个Test类,Test类有两个方法call1和call2:call1有两个参数 - 完整的className和一个ClassLoader。 call2有一个参数 - 完整的className。我们使用这两个方法进行验证。把该Java项目达

2021-04-28 15:23:00 253

原创 Java中的ClasLoader之自定义ClassLoader

自定义ClassLoader在大多数情况下,如果文件已经存在于文件系统中,内置的ClassLoader就足够用了。但是,在需要从本地硬盘驱动器或者网络中的加载类的情况下,我们就可能需要自定义一个ClassLoader。自定义ClassLoader不仅可以在运行时加载类,还有一些其他用例:修改现有的字节码 动态创造符合用户需求的类。例如:在JDBC中,通过动态的加载类完成不同驱动之前的切换 在为具有相同名称和程序包的类加载不同的字节码时,实现类版本控制机制。可以通过URLClassLoad

2021-04-26 11:19:19 713

原创 Java中的ClassLoader

ClassLoader简介ClassLoader负责在运行时将Java类动态加载到JVM中,而且ClassLoader是JRE的一部分。因此,由于ClassLoader的存在,JVM无需了解底层文件和文件系统即可运行Java程序。而且,ClassLoader并不会一次把所有Java类加载到内存中,而是在应用程序需要的时候加载。这就是ClassLoader发挥作用的地方,它们负责将类加载到内存中。内置的CLassLoader的类型下面是一个简单的例子,它展示了不同的类被哪种ClassLoade

2021-04-26 08:33:35 485 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 449 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 8629 2

原创 搞了这么久微服务,还不知道REST与HTTP之间的区别?

简介通常,REST和HTTP是可以互换使用的。在本文中,我们将研究REST、HTTP的真正含义以及它们为什么是两个不同的东西。什么是REST?REST全称Representational State Transfer表述性状态转移,它最早是在罗伊·菲尔丁(Roy Fielding)的论文中提出。...

2021-04-07 15:46:58 6237 11

原创 Java中如何对一个对象进行深表复制

引言在java中,当我们对一个对象进行复制时,有两种可以考虑的方式-浅复制和深复制当我们仅需要复制字段值时,依赖于原始对象进行浅复制是一种方式。在深复制中,确保树中所有的对象都被深度复制,因此该副本不依赖任何以前可能更改的现有对象。接下来,我们将比较这两种方式,并实现深复制的四种方法。Maven依赖我们将使用这三个依赖包-Gson、Jackson、Apache Commons Lang来进行不同深度复制的测试。添加这三个依赖的Maven坐标到pom.xml文件中。<dep

2021-04-06 14:41:10 257

原创 拒绝手动设置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 731

原创 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 225

原创 阿里云盘没有桌面端 (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 5674 2

原创 不是设计模式的“设计模式”-简单工厂

简单工厂其实不是一个设计模式,它是一种编程习惯。由于经常被使用,它被誉为“Head First Pattern荣誉讲”。有些开发人月经常把这个编程习惯当作“工厂模式”。

2021-03-24 11:12:49 191

原创 Springboot ResponseEntity 下载文件乱码

多半是因为你使用了@RestController,而不是@Controller!!!

2021-03-17 11:24:20 1071 1

原创 IntelliJ Idea下Maven插件优化

使用本地安装的maven 忽略测试代码编译 打包加速 这样就可以提升Maven项目的打包速度。

2021-03-17 09:12:17 187

原创 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 267

原创 JAVA设计模式-观察者模式

开始了解观察者模式之前,我们先了解一下什么是设计模式、为什么我们要使用设计模式什么是设计模式? 一种针对特定问题的解决方案,这种解决方案被抽象化、模板化后就是设计模式。为什么要使用设计模式?当我们使用第三方的库、框架的是很好,利用他们的API或者组件,放到合适的地方编译成我们自己的程序。但是库与框架并无法帮助我们将应用组织成易了解、易维护、具有弹性的架构,这个时候就需要设计模式。设计是一门艺术,通常有许多可以取舍的地方,如果我们利用这些经过深思熟虑,且经过时间考研的设计模式就可以稍微领先别人了。

2021-03-08 14:56:15 90

原创 腾讯云实时音视频录制回调接口响应

事件消息通知协议网络协议请求:HTTP POST 请求,包体内容为 JSON,每一种消息的具体包体内容参见后文。 应答:HTTP STATUS CODE = 200,服务端忽略应答包具体内容,为了协议友好,建议客户应答内容携带 JSON:{"code":0}通知可靠性事件通知服务具备重试能力,重试间隔为60秒,总计重试3次。为了避免重试对您的服务器以及网络带宽造成冲击,请保持正常回包。触发重试条件如下:长时间(20 秒)未回包应答。 应答 HTTP STATUS 不为200。@P.

2021-01-19 15:14:31 1716

原创 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 12021 2

空空如也

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

TA关注的人

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