自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒋固金(jianggujin)的专栏

骨宜刚、气宜柔、志宜大、胆宜小、心宜虚、言宜实、慧宜增、福宜惜、虑不远、忧亦近

  • 博客(245)
  • 资源 (5)
  • 收藏
  • 关注

原创 JDBFly使用教程

第一部分 简介JDBFly是一个基于JAVA的持久层开发框架,包含两部分内容:Mybatis增强、数据库版本跟踪。在简化常规开发的同时屏蔽数据库的差异,通过JDBFly使开发者更加关注业务本身,如雄鹰般在天空自由翱翔,从繁琐重复的持久层编码中解放出来。1.1 特性侵入小:对Mybatis只做增强,对原有原生代码不会产生影响,仅需调整少量JDBFly配置代码损耗小:启动自动注入即会自动注入内置Mapper,提供基本CURD,无额外性能损耗强大的 CRUD 操作:内置通用 Mapper、通用 Ser

2020-11-11 13:33:06 538

原创 前端使用jsencrypt实现RSA公钥解密

最近需要在前端实现一个功能,后端对数据使用RSA私钥加密后,前端使用公钥对数据进行解密,在前端项目中使用jsencrypt库进行实现,但是jsencrypt库在解密时不支持使用公钥解密,网上有一些教程是通过修改源代码的方式进行实现,在实际阅读源码之后发现不需要这么麻烦,可以直接在调用的时候做些调整。废话不多说,直接上代码。方法即可实现公钥解密,如果想要全局生效的话,这里提供一个思路就是调整代码直接对。的原型链方法进行修改。

2023-05-19 10:02:08 1638 10

原创 Java获取泛型参数实际类型

最近在优化JDBFly代码时,需要通过泛型获得实际的实体对象类型,封装了一个工具类,分享给大家,目前该工具类实现了通过子类获取父类或接口指定位置的泛型参数对应的实际参数,可以通过泛型参数名称或位置进行查找,以下为工具类代码:package com.jianggujin.util;import java.lang.reflect.Array;import java.lang.reflect.GenericArrayType;import java.lang.reflect.Parameterized

2021-03-25 15:05:36 1203

原创 ElementUI自定义Table支持render

ElementUI中的Table组件可以通过render-header属性通过render函数渲染表头,对于数据单元格并没有相关支持,虽然可以通过<template slot-scope="scope"></template >自定义列,但是在某些操作中直接用·render·形式进行渲染会更加有效,我一般喜欢通过数据的形式配置表格的内容,所以对ElementUI中的Table组件进行二次封装。首先编写用于表头和数据单元格的部分:TableHeaderCell.jsexport

2021-02-21 21:37:35 4378 3

原创 JDK内置工具之jar

jar用于处理Java存档(JAR)文件。jar命令是基于ZIP和ZLIB压缩格式的通用归档和压缩工具。但是,jar命令主要用于将Java applet或应用程序打包到单个存档中。将小应用程序或应用程序的组件(文件,图像和声音)组合到单个存档中时,可以由Java代理(例如浏览器)在单个HTTP事务中下载它们,而无需为每个组件都建立新的连接片,这样可以缩短下载时间。同时,jar命令还可以压缩文件,从而进一步缩短了下载时间。jar命令还允许小程序作者对文件中的各个条目进行签名,以便可以验证其来源。无论是否压缩,

2021-01-26 17:19:01 756

原创 JDK内置工具之extcheck

extcheck用于检测目标Java存档(JAR)文件与当前安装的扩展JAR文件之间的版本冲突。基本语法为:extcheck [-verbose] <jar file>,verbose为选中扩展名目录中列出的JAR文件,同时还将报告目标JAR文件和任何冲突的JAR文件的清单属性。通过extcheck命令可以检查指定的JAR文件是否与Java SE SDK中安装的任何扩展名存在标题和版本冲突。在安装扩展之前,可以该命令查看是否已安装相同或更新版本的扩展。extcheck命令将目标JAR文件清单

2021-01-26 13:34:39 479

原创 JDK内置工具之appletviewer

appletviewer用于在Web浏览器外部运行applet。基本语法为:appletviewer <options> url,option为选项部分,多个选项用空格分隔。url要显示的文档或资源的位置,可以指定多个以空格分隔的url。可用选项如下:-debug 在 Java 调试器中启动小应用程序查看器-encoding <encoding> 指定 HTML 文件使用的字符编码-J<runtime flag>

2021-01-26 11:13:18 3016

原创 MAC下~/.bash_profile无效

~/.bash_profile生效的前提是我们需要使用bash作为终端,随着系统的升级MAC会将默认终端切换为zsh,如果我们稍不注意按照提示进行了修改,那么就会导致~/.bash_profile无效(本人就是这种情况)。The default interactive shell is now zsh.To update your account to use zsh, please run `chsh -s /bin/zsh`.For more details, please visit https

2021-01-12 14:39:20 2820 1

原创 使用JCompiler实现JAVA代码内存中动态编译

第一部分 简介JCompiler是用Java 编写的用来将Java源代码动态编译为字节码的辅助工具,开发者可以动态生成源代码并在内存中将其进行编译并获得编译后的类对象。第二部分 开始使用使用JCompiler可以直接下载源代码编译或者下载已经编译的jar文件,如果您是使用maven来构建项目,也可以直接在pom.xml中添加JCompiler的坐标:<!-- http://mvnrepository.com/artifact/com.jianggujin/JCompiler -->&l

2021-01-04 16:46:08 636 1

原创 Mac启动Eclipse提示Failed to create the Java Virtual Machine

···xml<?xml version="1.0" encoding="UTF-8" standalone="no"?> <key>CFBundleExecutable</key> <string>eclipse</string> <key>CFBundleGetInfoString</key> <string>Eclipse 4.16 for Mac OS X, Copyright ..

2020-11-18 13:10:39 3689 9

原创 使用JMapper简化mybatis通用Mapper的查询与删除操作

第一部分 简介JMapper是基于mybatis通用Mapper的扩展实现,可以让您在使用Mybatis的时候可以像JPA那样通过方法名称定义相关的操作。第二部分 开始使用使用JMapper可以直接下载源代码编译或者下载已经编译的jar文件,如果您是使用maven来构建项目,也可以直接在pom.xml中添加JMapper的坐标:<!-- http://mvnrepository.c...

2020-01-10 16:43:59 2411 1

原创 SpringBoot通过请求对象获取输入流无数据

昨天下午在开发的时候遇到了奇怪的事情,在SpringBoot的Controller里面直接使用HttpServletRequest的getInputStream()方法的时候获得的输入流无数据,通过getContentLength()获得内容长度的时候又是有值的,由于昨天比较晚了就没有研究,今天花了点时间查一下原因。出现这种情况,首先怀疑输入流已经被使用了,由于请求输入流是不带缓存的,使用一次后...

2019-01-25 13:50:10 3835 1

原创 Jenkins安装与基本使用

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。现在公司使用Gitlab做版本控制的,有一套完善的持续集成与部署工具,但是环境受限,所以在开发过程中为了提升效率决定使用Jenkins搭建开发时使用的持续集成工具。第一部分 安装配置1.1 下载可以访问这里下载最新版的Jenkins。...

2018-11-17 10:49:32 415 2

原创 eclipse中文注释缩进异常

最近更新了eclipse,一开始正常,安装了STS插件后,现在发现格式化代码后,中文的注释缩进出现了问题,如下图:这个问题,我们可以通过更改字体解决,推荐修改生成支持中文的字体,最简单的方法就是更改成与系统一致,依次点击Window-&gt;Preferences-&gt;General-&gt;Apperarance-&gt;Color and Fonts在右侧选择Basic-&gt;T...

2018-10-28 23:03:48 10555 5

原创 windows下文件名太长无法删除

开发过程中经常会遇到文件名太长无法删除的情况,可以使用robocopy命令进行处理,但是每次运行感觉有些麻烦,所以写了一个批处理文件方便处理这类问题。@echo offif "%1" == "" goto noParamif not exist ".\%1" goto noFileecho 准备删除文件夹: %1pauseset TEMP_FOLDER=.\%1_robocopy_...

2018-10-27 11:25:50 1602

原创 JModuleLinkMvc使用文档

第一部分 简介JModuleLinkMvc是JModuleLink的MVC实现,提供了用于在Action中处理请求与相应的方法,即使不使用JModuleLink,JModuleLinkMvc也可以帮助我们快速构建普通项目。可以从码云获取代码。Maven:&amp;lt;!-- https://mvnrepository.com/artifact/com.jianggujin/JModule...

2018-08-20 20:57:48 380 1

原创 JModuleLink使用文档

JModuleLink是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(一个或一组JAR包)、卸载模块的API,使开发者更加关注业务本身。第一部分 JModuleLink简介1.1 需求背景应用拆分的多或少都有问题。多则维护成本高,每次发布一堆应用。少则拆分成本高,无用功能很难下线。故障不隔离。当一个系统由多人同时参与开发时,修改A功能,可能会影响B功能,引发...

2018-08-20 20:55:36 625 2

原创 关于XML解析存在的安全问题指引

最近一段时间被曝出的微信支付的XML解析存在的安全问题,主要问题是XML外部实体注入漏洞(XML External Entity Injection,简称 XXE),该安全问题是由XML组件默认没有禁用外部实体引用导致,非微信支付系统存在漏洞。微信官方做了回应,原文地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5 如...

2018-08-13 07:50:49 8136 2

原创 JCodec用法

JCodec包含了常用的编码、加解密的JAVA实现。Maven:&amp;amp;lt;!-- https://mvnrepository.com/artifact/com.jianggujin/JCodec --&amp;amp;gt;&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;com.jianggujin&amp;amp;l

2018-08-11 13:00:29 3378 1

原创 JAVA代码添加License

在开源代码的时候,我们经常会在代码顶部添加License信息,每个文件复制粘贴显然是比较麻烦的,所以写了一个工具类方便为源码添加License部分,供大家参考,可以按照实际情况进行修改。import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;imp...

2018-08-07 16:39:01 14260 2

原创 JAVA字节数组转十六进制字符串

常见的MD5等摘要运算的结果都是字节数组,通常我们见到的是转换后的十六进制字符串,今天就分享一下转换的代码。package com.jianggujin.codec;public class JHex { private static final char[] DIGITS_UPPER = { '0', '1', '2', '3', '4', '5', '6', '7', '8...

2018-08-04 13:03:38 3834 2

原创 Cipher输入输出流

在java中提供了CipherInputStream和CipherOutputStream用于加解密的流处理,但是我在实际使用中发现会有一些莫名其妙的问题,数据丢失等,所以重写了两个流处理类。package com.jianggujin.codec.util;public interface JCipherStream { /** * 长度为0的字节数组, 在编码解码时需...

2018-08-04 12:35:14 1219 1

原创 Oracle system密码过期

今天创建表空间的时候,连接数据库提示用户密码过期了,用的是system用户,这里记录一下处理过程。 第一步:在控制台中输入:sqlplus /nolog 第二步:连接上之后继续输入:conn /as sysdba; 第三步:修改system密码,输入:alter user system identified by 123; 这里需要注意的是,在执行第二步之后可能会提示ERROR:...

2018-07-31 11:06:11 2270 1

原创 记一次发布项目到Maven

用了这么久的maven,第一次向中央仓库贡献代码,本编博客作为一次记录。 首先我们需要访问:https://issues.sonatype.org/secure/Signup!default.jspa注册一个帐号,后面与工作人员沟通都需要在这里完成。 注册的用户名密钥要记住,注册的邮箱一定是常用的有效邮箱,后面会通过该邮箱进行沟通注册完成后登录系统,我们需要创建一个Issue ...

2018-07-23 21:01:45 286 2

原创 修改Oracle用户密码永不过期

Oracle密码默认180天会过期,这样对于开发过程有些麻烦烦,所以需要去掉过期策略。 第一步、查看用户的proifle是哪个,一般是defaultSELECT username,PROFILE FROM dba_users;第二步、查看指定概要文件(如default)的密码有效期设置SELECT * FROM dba_profiles s WHERE s.profile='...

2018-07-23 09:49:08 4919

原创 JHttp使用文档

简介JHttp是用java 编写的用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,基于原生的HttpUrlConnection实现,支持:GET、POST、PUT、DELETE、PATCH,HEAD、OPTIONS、TRACE请求,可以适应绝大部分业务场景,并提供了丰富的请求操作的API,使开发者更加方便快捷的完成HTTP的请求工作。可以从Github或码云获取代码。...

2018-07-16 11:17:31 1970 3

原创 JAVA使用ServiceLoader加载服务

ServiceLoader是SPI的是一种实现,所谓SPI,即Service Provider Interface,用于一些服务提供给第三方实现或者扩展,可以增强框架的扩展或者替换一些组件。 其实关于ServiceLoader,我们平时虽然很少用到,但是却在背后为我们做了很多事情,最常见的就是JDBC的操作了,相信大家对DriverManager类并不陌生,我们可以通过该类加载驱动并获得数据库连...

2018-07-13 14:35:01 10682

原创 Druid Spring Boot Starter配置aop无效

Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。具体配置请参考这里,但是在使用aop-patterns配置的时候发现Spring监控无效,下面介绍一下解决方法,我用的版本是:1.1.10。 如果SpringBoot的配置使用的是properties文件,该配置正常。如果使用yml作为配置文件,则该配置无效,看一下相...

2018-06-20 21:11:30 5911 3

原创 JS操作Cookie

通常我们会在HTML页面中,使用Cookie存储一些临时数据,所以封装了两个方法用于Cookie的便捷操作,代码如下:/** * cookie操作 * @param {String} name * @param {String} value * @param {JSON} options */function cookie(name, value, options) ...

2018-06-19 10:39:45 286

原创 JAVAEE兼容低版本设置Cookie的HttpOnly属性

在做安全扫描的时候,会把Cookie中没有HttpOnly属性作为漏洞,需要处理,但是在低版本的Servlet API中并没有相关的设置方法,高版本可以直接使用Cookie对象的setHttpOnly(boolean httpOnly)方法进行设置,那么要解决这个问题,我们只能升级了吗?并不是,升级的代价可能会很大,所以本篇文章结合了新版本的API,可以直接为HttpServletResponse...

2018-06-19 09:45:30 873

原创 JAVA动态加载或卸载JAR包

在模块化开发的时候,我们经常会把一个模块的内容打包成一个FAT JAR,然后加载,实现模块的热加载,对于热加载的实现并不复杂,我们只需要定义自己的加载器,然后继承URLClassLoader就可以了,但是我们会发现一个问题,加载后的JAR 会被JAVA占用无法删除,所以如果我们的程序里面希望在不停机的情况下完全卸载模块就需要稍微处理一下,幸好,在JDK1.7中的URLClassLoader提供了c...

2018-06-01 12:23:05 17614 2

原创 Java操作注册表

从JDK 1.4开始,Java在java.util下加入了一个专门处理用户和系统配置信息的java.util.prefs包,其中一个类Preferences是一种比较“高级”的玩意。从本质上讲,Preferences本身是一个与平台无关的东西,但不同的OS对它的SPI(Service Provider Interface)的实现却是与平台相关的,因此,在不同的系统中你可能看到首选项保存为本地文件、...

2018-05-16 16:29:01 4934 11

原创 标准代码页(codepage)列表

代码页列表,留作备忘 代码页 简称 全称 37 IBM037 IBM EBCDIC (US-Canada) 437 IBM437 OEM United States 500 IBM500 IBM EBCDIC (International) 708 ASMO-708 Arabic (ASMO 708) 7...

2018-05-15 17:01:47 35253 2

原创 Java判断图像相似性

判断图像的相似性主要用于图像的去重,一种验证相似性的思路是先将图像进行缩放至指定尺寸,然后进行灰度处理,去掉颜色特征,最后对处理后的图像计算哈希值,通过比对不同图像的哈希值的汉明距离来判断图像是否相似,下面我们直接上代码:package com.jianggujin.image;import java.awt.Graphics2D;import java.awt.color.Colo...

2018-05-05 14:20:36 2248

原创 JAVA压缩JS或CSS文件

平时开发过程中使用的js或css文件基本都是未经压缩的方便调试,在真正上线后一般都会使用压缩后的文件,我们可以使用一些工具进行压缩,我们也可以通过JAVA代码自己实现文件的压缩,今天为大家介绍的是使用YUI Compressor实现的方式。首先在maven中添加pom坐标&lt;dependency&gt; &lt;groupId&gt;com.yahoo.platform.yui&...

2018-05-05 09:17:05 3135

原创 JAVA使用easyexcel操作Excel

之前写过一篇《JAVA操作Excel》,介绍了jxl和poi读写Excel的实现,今天为大家介绍一下使用easyexcel对Excel进行读写,项目主页地址:https://github.com/alibaba/easyexcel作者对easyexcel的介绍是: Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,po...

2018-05-04 22:40:48 156586 67

原创 Mac自启动程序管理

添加或移除启动程序,可以直接在偏好设置里面修改,首先我们需要进入系统偏好设置 然后进入用户与群组切换至登录项,在这里我们可以添加或移除登录项但是有时候我们发现有些自启动的软件在这里面是找不到的,这个时候我们可以通过终端程序查找。 macOS系统的启动项会以 .plist 的文件存在于以下目录中:/Library/LaunchDaemons:系统启动时运行,用户不登录也...

2018-05-04 12:34:26 19556 2

原创 Java网络代理设置

因为工作需要,我们平时的开发都是在云桌面中进行的,云桌面存在网络限制,必须要用代理才能够访问网络,之前针对这种情况在我们自己封装的网络请求包中添加了相关代理的配置,但是最近开发中需要依赖第三方的包,在该包中会用自己实现的网络请求工具请求数据,这样的话,之前的配置就无效了,所以在测试这部分功能的时候,需要使用全局代理配置,下面简单介绍下几种配置方式。浏览器配置1、进入Internet选项...

2018-03-27 11:30:00 4001

原创 支付宝电脑网站支付汉字乱码导致验签失败处理

由于支付宝产品的全面升级,需要将支付宝电脑网站支付的接口升级至新版接口,接口文档地址:https://docs.open.alipay.com/270/105899/,按照快速接入文档的介绍完成代码改造后,准备进行测试,由于系统的特殊性,在调用统一收单下单并支付页面接口的时候没有使用提供的SDK包生成表单页面的形式,而是自己调用AlipaySignature.rsaSign方法进行签名,实际测试的...

2018-03-23 11:46:19 15752 3

原创 SpringBoot全局异常处理(续)

在上一篇《SpringBoot全局异常处理》中介绍了两种处理全局异常的方案,今天我们继续来探讨一下如何更好地处理异常,比如:404之类的错误。首先来怀念一下默认的错误页面,默哀三分钟。 哈哈,SpringBoot默认的错误页面就是一个白底页面加了一些错误信息。我们今天要解决的问题就是在之前处理异常的基础上来修改默认的错误页面,即自定义诸如404、500酱紫的错误页面,关于处理这些问题的博...

2018-01-31 16:36:24 1982

Exif2.2文档

Exif2.2官方文档

2017-07-29

eterna核心包

eterna框架可以让你在不用写任何java代码的情况下,仅通过一些xml的配置来开发你的Java应用。eterna框架包括了数据库层、控制层、视图层的配置功能,对于90%以上的开发场景,您可以不用书写任何Java代码。

2016-04-16

JAVA解析XML

JAVA常用的四种解析XML的示例,包括sax、dom、dom4j与jdom

2016-01-18

JAVA Socket通信示例

JAVA Socket通信示例,包含单工、半双工、全双工通信示例.zip

2016-01-05

JAVA聊天室小程序

可以实现在局域网内的通信,包含服务器和客户端,服务器可以私聊、踢出成员等,有个暂停服务器的功能,但是没有实现,有兴趣的可以自己添加

2012-11-28

空空如也

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

TA关注的人

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