docx4j(12) Jxls2(14) IDEA(12) JPA(16) Swing(8) Spring Boot 打包(3) 图片水印(3) 小技巧(11) Bootstrap(20) JSP自定义标签(7) Delphi(8) MyBatisPlus(6) 俄罗斯方块(4) 第三方登录(8) 本站博客实现(9) Docker学习(8) Linux学习(10) 验证码(4) Apache Commons JCI(5) Apache Shiro(8) 分布式事务(3) Gateway(4) SpringBoot Admin(4) RocketMQ(2) SpringCloud OpenFeign(4) Nacos(2) Java压缩和解压缩(8) MySQL(5) 在线编辑器(6) Redis(14) SqlParser(3) Java画流程图(7) Arthas(17) Sftp(7) IDEA插件开发(6)
我开源的项目
作为一个已工作多年的专业程序员,在闲暇之余也颇爱写写代码,借助本站特将一部分程序代码作为个人重点推荐代码开放出来,算是一种整理汇总,也算是代码的总结性输出吧,干了这么多年,终归不能是白瞎吧,一些落地的汇总与实现。
Java Swing开发
Java Swing在大家眼里都一致的认为是冷门技术,秉承存在一定有其价值的理念,我并未丢弃这门技能,甚至对其应用也到了极致,并且使用它编写了一些辅助于工作中应用便利的软件(最终制作为exe软件安装包或可执行软件),对于大佬来说,怎么能让开发Windows桌面应用程序成为短板呢。
开源项目docx4j
docx4j 是一个开源 (ASLv2) Java 库,用于创建和操作 Microsoft Open XML(Word docx、Powerpoint pptx 和 Excel xlsx)文件,强烈推荐。
开源项目Jxls
Jxls是一个小型Java库,可以轻松生成各种Excel报表。Jxls使用Excel模板中的特殊标记来定义输出格式和数据布局,支持各种复杂应用业务场景的各种应用。
Bootstrap4
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。
Apche Commons JCI
JCI(Java Compiler Interface) 是一个 java 编译器接口。它可用于将 java(或任何其他可以编译为 java 类的语言,例如 groovy 或 javascript)编译为 java。
Spring Cloud Alibaba
Spring Cloud阿里巴巴为分布式应用程序开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序。职业生涯技术重(终)点
Java压缩与解压缩
本人在工作中需要使用到压缩和解压缩的相关技术知识,特花费了较多的时间来进行相关的摸索,主要是对JDK内置的zip API和zip4j、Apache Commons Compress、7-Zip-Jbinding等开源组件上,对于解压缩主要是对于zip、7z、rar做了大量的实践和案例总结,并最终形成了相关的技术博客分享。
Java画流程图
jgraphx是一个基于Java Swing的流程图和图表绘图库,它提供了许多自定义图形对象,包括节点、边、标签、箭头等,可以轻松地在流程图和图表中创建、编辑和显示这些对象。它可以让开发人员创建图形编辑器或者与现有的流程图和图表交互的Java应用程序。
Redis最佳实践
相关实践是站在自己的水平面上进行的实践,实践范围也主要围绕个人感兴趣的知识范围内的实现,只占整合Redis相关技术圈非常非常小的一部分,核心围绕Redis的主从复制、集群架构、桌面客户端、SpringBoot Data Redis集成展开,对于Redis的基础和基本使用不做过多介绍,以实践使用为主,建立在有一定的知识掌握前提。
Arthas
不停的想要继续学习新的东西,在GitHub上逛了许久之后最终选择了阿里开源的arthas,它是Java应用程序的诊断和故障排查工具,可适用于线上生成环境监控诊断的中间件。通过全局视角实时查看应用信息、内存、gc、线程的状态等信息,同时它能够在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。更为有价值的是它支持无侵入式的为程序代码进行热更新(热部署)即时生效。
最新文章
OpenFeign框架原生应用(二)进阶使用
前面一篇《OpenFeign框架原生应用(一)简单示例》文章介绍了使用OpenFeign框架的原生应用,介绍了Maven坐标依赖和使用多种请求方式进行参数传值和接口调用的示例演示,始终觉得只是入门程度,只有使用到了文件上传和文件下载才能算是真正略有水平的进阶,所以本次的实现为包含文件上传和文件下载的接口调用实现。 1.定义服务端接口 import...; /** *简单Api测试 *@authorchendd */ @RestController @RequestMapping(value="/api/advance",consumes=MediaType.ALL_VALUE,produces=MediaType.APPLICATION_JSON_VALUE) publicclassAdvanceApiController{ @GetMapping(value="/download",...
文章分类:后端一部分 Spring Cloud
SpringCloud OpenFeignOpenFeign框架原生应用(一)简单示例
通常对于OpenFeign技术的使用都是通过`spring-cloud-starter-openfeign`的方式引用的,需要依赖spring-cloud相关的组件,我个人也是在学习Spring Cloud Alibaba相关技术体系时,总结过两篇关于OpenFeign的应用示例。如果想丝滑的使用OpenFeign而又不想在项目中集成SpringCloud相关技术体系时(企业工作中总会有一些不可与之制约的因素),可以尝试使用OpenFeign的原生应用,仍然是非常丝滑的去使用。本文将使用OpenFeign的原生应用实现接口的调用示例。 1.实现过程 1.1 Maven坐标依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <v...
文章分类:后端一部分 Spring Cloud
SpringCloud OpenFeignSpringBoot扫描包路径并注册接口为组件
SpringBoot扫描包路径并注册接口为组件是日常工作中高级选手会接触和使用到,或者是封装一些功能性组件时会有接触,常规业务功能开发也许并不会涉及到自己编写,但一定会涉及到使用,比如MyBatis的Mapper、OpenFeign的Client、Spring Data Jpa的Repository等等,都是给定一个接口类,在接口类上标记注解或者在接口中的方法上标记注解,来实现特定的业务功能处理。 1.实现过程 本期将新建一个纯净的Spring Boot项目,在此基础上构建项目示例,以非常专业的项目应用场景展开介绍,详细过程如下: (1)新建启动类,标记启用扫码包路径 以OpenFeign为参考,定义启动类`Bootstrap`上增加启用扫码包路径开关的注解`EnableHelloClient`,并且声明需要扫码包路径的地址为`cn.chendd.**.clients`,也作为功能启用的标...
文章分类:经验分享 技术知识
不开源项目aspose.pdf最新版23.10的一些科普
前面在摸索了Aspose.Cells for Java 23.10(时下最新版)的激(pò)活(jīē)整体上摸索了一些时间和实践了一些示例,接着又对Aspose.Words for Java 23.10版本的激(pò)活(jīē),本来以为会告一段落,这不间隔了半年时间终于又对Aspose.Pdf for Java 23.10版本的科学使用进行了摸索,结果经过一番百科下来,发现这个组件相比Cells和Words的要简单许多,科学使用仍然是坚持不懈的各种尝试和坚持,只为单纯的学习进步,商业软件请勿直接使用于生产环境(购买商业授权)。 1.基本介绍 关于PDF操作相关的实践本站也有写过基于itext的相关示例,主要是围绕对PDF文档的生成上,至于对PDF文档的读取还真没有读取过,毕竟比较繁琐,而且还面临文档是图片时的问题。本次实现以科学应用为主,跟之前另外两个组件的示例一样,主要是围绕文档格...
文章分类:经验分享 技术随写
SpringBoot中jQuery.ajax文件下载
作为一名不特专业的前端选手,在之前的文件下载均使用window.location.href(同超链接)或form表单提交的方式进行的,这种认知取决于多年前的落后经验,从IE6、IE7、IE8的时代经过,确实没办法使用Ajax下载文件,以至于到HTML5成熟后也没有再深入细致的研究Ajax是否能够支持文件上传和下载的实现,最关键的是无论上传还是下载都可以不通过Ajax的方式实现页面无刷新,所以是否使用的Ajax就显得不那么重要了。 1.简单介绍 如上所述的文件下载方式使用了多年,一直都存在一种场景的弊端,那就是当文件下载成功后执行一个方法的回调,而近期参与一次前端会议时提出了这么一个疑问,得到了Ajax可以下载文件的答复,于是就有了一个基于Ajax下载文件的实现,同时将这几年使用到的Ajax上传文件也同样给整理出来了,本篇以下载为主(上传可见前一篇文章),详细如下: 本次实践将新建一个纯净的...
文章分类:经验分享 技术知识
SpringBoot中jQuery.ajax文件上传
作为一名不特专业的前端选手,在2019年之前处理文件上传一直使用的都是form表单提交请求的方式,这取决于必须使用post方式,且表单需要设置`multipart/form-data`等决定性因素,即便是使用jQuery.form插件的文件表单提交,它的内部实现也是判断当前提交的表单是否包含input file类型,若不存在将表单提交转换为Ajax的形式;若存在则是构造iframe的形式,将表单的target指向iframe来实现页面的无刷新。 1.简单介绍 以上是我对于仿Ajax文件上传的一些历史实现,更为重要的是作为一名编码经验非常古老的选手看来,经历过IE6、IE7盛行的时代,也包含JSP风靡的时候,别谈Ajax能够实现文件上传了,也许是各大浏览器对HTML5规范的支持后,使得Ajax可以上传文件了,至于什么历史事件导致的Ajax能够上传文件不做深究了,也是从2019年到现在的文件上...
文章分类:经验分享 技术知识
jsdiff文本对比插件的介绍与使用
在日常开发和许多文本处理的场景中,经常需要对比两个文本之间的差异。jsdiff是一款强大且实用的JavaScript库,能够帮助我们轻松实现文本对比的功能。在本文中,我将详细介绍jsdiff插件的特点和使用方法。 1.简单介绍 jsdiff 是一个轻量级的JavaScript库,专注于提供高效的文本差异对比功能。它可以用于比较字符串、文本块甚至是整个文档的差异。jsdiff的优势在于其简单易用的API和灵活的配置选项,使得开发者能够根据自己的需求定制对比的方式和结果呈现形式。官方提供了三种不同的比较方法(字符diffChars、单词diffWords、行diffLines)适用于不同的场景,需要根据实际需求选择合适的方法,也提供有API可以获取相同/差异的函数。 该插件使用比较简单,只需要导入核心JS文件`diff.js`即可,需注意的是从GitHub代码库下载下来的代码包中并不该文件,官...
文章分类:前端技术 HTML/JS/CSS
IDEA插件开发入门(六)总结
虽说专业够非常专业,然涉及到的仍然是入门级的程度,更深更广的专研需要借助实际的需求和更多的心血去铺垫吧。 从0开始摸索着学习IntelliJ IDEA插件继菜单栏、工具栏、右键菜单、侧边栏等摸索完毕后特来整理一个小小的总结,整体上来说前面的各个实现均是非常专业和严谨的实现,作为日常应用中的入门足够了,本篇文章将对一些个人经验进行较浅的总结吧,后续有更多实践或更深入的了解后随机补充。 (1)关注IDEA的版本以及插件开发时各个依赖的版本,使用建议使用最新版本; (2)对IDEA、JDK、Gradle、Groovy、kotlin、Swing这些要有一些了解,或者说是要有足够的去了解的时间和耐心; (3)可以参考个人分享的源码项目《源码下载与运行过程.zip》和参考对应的博客文章,作为入门可站在我的肩膀上; (4)可以查看IDEA官网的插件开发教程和阅读开发中常用的插件源码以及Github上找对...
文章分类:经验分享 技术随写
IDEA插件开发IDEA插件开发入门(四)自定义右键菜单
1.基本介绍 从0开始摸索着学习IntelliJ IDEA插件继菜单栏、工具栏摸索完毕后接着肯定是右键菜单的实现扩展,如同大多数的插件一样都基于右键菜单增加了自定义的功能扩展,所以本次也不例外。站在严格专业的水平层看待对于右键菜单栏的扩展必须要实现下列一些细节实现,否则将视为不够深度掌握,参考如下: (1)自定义右键菜单可以是选中项目或项目文件也可以不选中任何文件,永久显示; (2)自定义右键菜单可包含子菜单、孙子菜单等; (3)自定义右键菜单可包含菜单图标、菜单分割线、菜单快捷键; (4)自定义右键菜单可出现在自定义位置; (5)点击事件; 2.代码实现 (1)ContextMenuHelloAction.java 是右键菜单点击后的事件触发,弹出动态提示文本,请转至工具栏文章查看代码,参考代码如下: packagecn.chendd.plugins.contextmenus; imp...
文章分类:经验分享 技术随写
IDEA插件开发IDEA插件开发入门(五)自定义侧边栏
1.基本介绍 从0开始摸索着学习IntelliJ IDEA插件继菜单栏、工具栏、右键菜单摸索完毕后接着肯定是侧边栏的扩展实现,如同大多数的插件一样都基于侧边栏增加了自定义的功能扩展,所以本次也不例外。站在严格专业的水平层看待对于侧边栏的扩展必须要实现下列一些细节实现,否则将视为不够深度掌握,参考如下: (1)自定义侧边栏可出现在左侧、右侧、下侧; (2)自定义侧边栏可包含名称、图标、多个面板页面、可带关闭按钮; 吸附在侧边栏的插件扩展一般是需要展示一个页面(面板),在页面中提供不同的组件元素进行交互或数据的展示等,更多的是需要开发界面,本次就使用最简单的Label文字为例。 2.代码实现 (1)HelloSidebarFrame.java 是侧边栏按钮点击后的事件触发,弹出一个新的页面,参考代码如下: packagecn.chendd.plugins.sidebar; importcom...
文章分类:经验分享 技术随写
IDEA插件开发