- 博客(20)
- 收藏
- 关注
原创 Mybatisplus 公共数据填充
常见的业务操作中 创建人、创建时间、更新人、更新时间 是我们比较关注的点 方便溯源 可以使用mybatisplus做通用处理。实现MetaObjectHandler接口 重写mybatisplus原数据填充方法。Spring boot版本 2.5.15。抽取一个通用的基类 其他业务对象来继承即可。如此 我们只用关注我们的业务即可。
2024-04-09 09:55:14
140
原创 基于Redisson实现自定义限流注解
最近需要给第三方系统提供接口 想着给接口加上限流 减轻服务器压力。Springboot 版本:2.5.15。基于Redisson实现自定义限流注解。自定义@RateLimit注解。项目启动初始化所有令牌桶。
2024-03-28 17:33:01
245
原创 docker-compose部署MongoDB
整合Springboot的时候注意 yml配置 这里踩坑了 一直报 Caused by: com.mongodb.MongoCommandException: Command failed with error 18 忙活了半天。最近在弄接口日志这块 想着把日志放到MongoDB中 本文基于docker-compose搭建MongoDB。使用 docker-compose up -d mongodb 命令 启动服务。docker和docker-compose环境是必需的。
2024-03-15 14:51:12
314
原创 富文本转HTML字符串
如果遇到内容在转JSON串的时候被转义 使用 org.apache.commons.lang 包下的StringEscapeUtils.unescapeJavaScript() 转义一下即可。最近工作中遇到需要将富文本内容在浏览器展示 写了个一个基于jsoup的转换工具类。富文本转HTML字符串。
2024-03-09 17:08:04
372
原创 Spring容器中的Bean是否线程安全?
Spring容器中的Bean是否线程安全?前言Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全的特性,但还是要结合具体的Bean的Scope(作用域)来分析。首先我们先来了解Bean的作用域单例(singleton):(默认)每一个Spring IoC容器都拥有唯一的一个实例对象原型(prototype):一个Bean定义,任意多个对象请求(request):一个HTTP请求会产生一个Bea
2021-08-13 15:19:34
256
原创 String为什么是不可变的?
我们最常见的面试题:String为什么是不可变的?String在我们的开发过程中是最常见不过的了,但是你真正了解它么?上源码,源码中就能找到答案public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final cha
2021-08-11 17:44:32
213
原创 Docker Compose常用命令
Docker Compose常用命令1.Docker compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行。当compose需要以守护进程(daemon)【是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭】模式运行加-d选项查看有哪些容器启动ttx@worth-All-Series:~/app/rabbit$ doc
2021-07-29 19:07:11
163
原创 LoadingCache 本地缓存 定时清除数据
最近工作中碰到要将一些数据缓存到本地一段时间,然后清除掉先上依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.1-jre</version></dependency>编写CacheManager缓存管理类(偷懒,直接写在一起的,
2021-07-23 18:14:17
1903
原创 Request header is too large 请求头太大
在我们的日常开发工作中,可能会遇到请求头太大的问题,导致请求失败F12可以看到,前端传入了很长一段参数后台可以看到问题原因:请求头超过了tomcat的限制值。post请求是没有参数大小限制,但是服务器有自己的默认大小解决方式一:可以修改Tomcat的server.xml文件增加maxHttpHeaderSize参数配置,当maxPostSize=0时,表示不限制解决方式二:如果你是SpringBoot项目那就更简单了,直接修改yml文件即可解决方式三..
2021-07-15 11:33:50
28017
1
原创 IDEA 引入第三方jar包
在我们的日常开发中,可能需要引入第三方的一些jar包IDEA选择file -> 选择 Project Structure (推荐)选择Modules -> dependencies
2021-07-13 18:31:26
131
原创 浅谈Java关键字 Volatile
浅谈Java关键字 Volatile就象大家更熟悉的const一样,volatile是一个类型[修饰符](type specifier)。它是被设计用来修饰被不同线程访问和修改的[变量]。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序(这样就是不使用volatile的后果),要么[编译器]失去大量优化的机会(要么就是相当于永远使用volation的结果)。要了解Volatile这个关键字,我们就得对Java的内存模型(JMM)有一个初步的了解,上图可以看到
2021-07-08 18:30:59
127
原创 JavaScript 基础学习
Javascript概述JavaScript在1995年由Netscape公司的[Brendan Eich](https://baike.baidu.com/item/Brendan Eich),在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECM.
2021-07-07 18:18:55
223
原创 将多个xml字符串文件 压缩成zip包输出到浏览器
因为最近在工作中遇到要将多个xml文件压缩成zip包并输出到浏览器,所以特地记录下来,以备下次不时之需。废话不多说直接上代码…ZipController 我这里是直接在本地模拟多个xml字符串数据的package com.xwfu.zip.controller;import com.xwfu.zip.util.ZipUtil;import org.springframework.beans.factory.annotation.Autowired;import org.springf..
2021-06-30 17:13:44
1042
1
原创 MySQL 基础学习
MySQL数据库MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 是开源的,目前隶属于 Oracle 旗下产品。MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL 使用标准的 SQL 数据语言形式。MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包
2021-06-30 15:31:53
107
原创 JPA 初探
JPA概述JPA的全称是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基于ORM思想的规范,内部是由一系列的接口和抽象类构成。JPA通过JDK 5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA和Hibernate的关系JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服务厂商来提供实现。[外链图.
2021-06-29 19:00:12
92
原创 初学Thymeleaf
Thymeleaf概述Thymeleaf是⾯向Web和独⽴环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚⾄纯⽂本。Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有.
2021-06-29 18:55:06
157
原创 初识 Redis
Redis概述Redis简介Redis:Remote Dictionary Server(远程字典服务器)Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI C语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢
2021-06-29 18:47:54
186
转载 HTTP中GET和POST两种基本请求方法的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。.
2021-03-25 00:15:32
89
转载 转载大佬的博文,学习一波~
为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,...
2021-03-25 00:01:41
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人