8 蒋固金

尚未进行身份认证

为了梦想全力以赴!

等级
TA的排名 2k+

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

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

2020-01-10 16:43:59

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

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

2019-01-25 13:50:10

Jenkins安装与基本使用

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

2018-11-17 10:49:32

eclipse中文注释缩进异常

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

2018-10-28 23:03:48

windows下文件名太长无法删除

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

2018-10-27 11:25:50

JModuleLinkMvc使用文档

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

2018-08-20 20:57:48

JModuleLink使用文档

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

2018-08-20 20:55:36

关于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

JCodec用法

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

2018-08-11 13:00:29

JAVA代码添加License

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

2018-08-07 16:39:01

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

Cipher输入输出流

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

2018-08-04 12:35:14

Oracle system密码过期

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

2018-07-31 11:06:11

记一次发布项目到Maven

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

2018-07-23 21:01:45

修改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

JHttp使用文档

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

2018-07-16 11:17:31

JAVA使用ServiceLoader加载服务

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

2018-07-13 14:35:01

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

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

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

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

2018-06-19 09:45:30

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。