摘要:
redis是一个非常快速的非关系数据库解决方案。其简单的键值数据模型使 Redis 能够处理大型数据集,同时保持令人印象深刻的读写速度和可用性。redis提供了五种数据类型,分别是是:1、string(字符串);2、hash(哈希);3、list(列表);4、set(集合);5、sort set (有序集合)(其实随着 Redis 版本的更新,后面又支持了四种数据类型:BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增),本文暂不作介绍。)。接下我就给大家介绍一下这五种数据类型的基本用法和使用场景。 阅读全文
2023年7月20日
2023年7月12日
摘要:
最近用结合thumbnailator和Graphics2D封装了一个图片工具类,目前可以实现图片的裁剪、压缩、添加图片水印、文字水印、多行文字水印等功能,同时该工具类的实现使用了建造者模式、责任链模式、工厂模式、策略模式等多种设计模式,感觉图片处理的功能有一定的通用性,所以这次写一篇文章来分享一下这个工具类的使用方式和实现原理,代码不足之处还望大家指正,文末也会提供代码的github地址。
2、简单的使用
首先这个处理类提供了一个建造简化了工具栏使用,下面一个简单的使用示例,实现了图的裁剪裁剪,从这个示例代 阅读全文
2023年7月11日
摘要:
poi-tl是一个基于Apache POI的Word模板引擎,也是一个免费开源的Java类库。同类型的FreeMarker或Velocity基于文本模板和数据生成新的html页面或配置文件。而poi tl是一个基于Word模板和数据生成新文档的Word模板引擎。Word模板具有丰富的样式。Poi-tl将在生成的文档中完美地保留模板中的样式。也可以设置标记的样式。标记的样式将应用于替换的文本,因此您可以专注于模板设计。poi-tl是一个“无逻辑”模板引擎。 阅读全文
2023年7月10日
摘要:
@[toc] # 一、准备模板 ## 1、创建模板文件 创建一个word文件,输入如下图所示的内容: ![请添加图片描述](https://img2023.cnblogs.com/blog/685402/202307/685402-20230710195819893-944185984.png) # 阅读全文
2023年7月9日
摘要:
如果模板里需要用变量填充表格,建议模板里的表格像word文件一样建一个两行的表格。但是这样是freemaker是无法成功替换变量的,所以需要手动处理成到一个段里(如图2),关于这点实在太无语了,因为没有找到比较好的处理办法,只能手工处理,在实际的开发工作中曾经花了几个小时来做这件事情。根据模板文件生成word,主要生成的word的文件后缀必须是doc不能是docx,不然生成的文件无法打开。首先先建立一个word文件,输入模板内容freemaker的内容,下面是本次演示的word文件。 阅读全文
2023年7月4日
摘要:
1、转成图片的方式和转成html,都存在一定的问题,比如转图片的都是存在要处理多图片的问题,转html存在复杂样式丢失的问题。比较好的一种做法就是即将文档里的内容都生成成图片(很可能是多张图片),然后将生成的图片全都放到一个html页面里 ,用html+css来保持样式并实现多张图片展示,再将html返回。开源组件kkfilevie就是用的就是这种做法,可以参考一下kkfilevie的做法(都参考了为什么不直接拿来用,滑稽表情)。2、前端通过判断不同文件类型的使用对应的在线预览组件进行在线预览。 阅读全文
2023年7月3日
摘要:
前几天在项目读取resources目录下的文件时碰到一个小坑,明明在本地是可以正常运行的,但是一发到测试环境就报错了,说找不到文件,报错信息是:class path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!xxxx。看了半天代码感觉没有问题,于是怀疑是打成项目jar包后和原项目存在差异导致的。 阅读全文
2023年6月24日
摘要:
kkfileview是一个开源的文件文档在线预览项目解决方案。该项目使用流行的spring boot搭建,易上手和部署以及二次开发,并提供Docker镜像发行包,方便在容器环境部署。基本支持主流办公文档的在线预览。支持word excel ppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本支持zip,rar,jar,tar,gzip等压缩包支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)支持mp3,mp4,flv等多媒体文件预览。 阅读全文
2023年6月17日
摘要:
最近在弄文件上传、下载、在线预览时经常需要设置请求标头或者响应标头的Content-Type 属性。所以研究了一下spring支持哪些Content-Type,通过研究MediaTypeFactory.getMediaType的源码,可以得知spring是将支持的Content-Type 维护在/org/springframework/http/mime.types文件中。通过上面查找文件的路径找到了org.springframework:spring-web包下http目录中的mime.types文件。 阅读全文
摘要:
适配器模式(Adapter Pattern)有时候也称包装样式或者包装,是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口。适配器模式可以让原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式有三种类型:类适配器模式、对象适配器模式和接口适配器模式。类适配器模式采用多重继承对一个接口与另外一个接口进行匹配,Java 不支持多继承,但可以定义一个适配器类来实现当前系统的业务接口,同时又继承现有组件库中已经存在的组件。优点:1、可以让任何两个没有关联的类一起运行。 阅读全文