自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(71)
  • 收藏
  • 关注

转载 Easypoi实现单模板生成多页wrod文档

EasyPoi可以很方便的通过一个word模板,然后通过填充模板的方式生成我们想要的word文档。但是碰到了一个单模板生成多页数据的场景,比如一个订单详情信息模板,但是有很多订单,需要导入到一个word里面,提供给用户下载这个word文档。这就需要进行word合并了,Easypoi可以生成多个XWPFDocumenmt,我们将它合并成一个就行了。 特意找了下Easypoi官...

2019-09-20 21:10:00 981

转载 普通Java项目中使用Sl4j+Log4j2打印日志

因工作需要,采用JavaFx开发了一个windows窗口程序。在开发过程中,由于没有引入日志框架,只能自己手动在控制台打印些信息,给调试带来了很多麻烦;因此决定引入日志框架。由于之前接触的项目大部分都是javaWeb项目,web项目的日志输出已经难不倒我了。但普通java项目日志输出配置还是第一次接触,因此记录下整个过程,方便后续借鉴。 技术概述:采用Sl4j作为日志门面,...

2019-07-30 23:36:00 1519

转载 SpringBoot集成JWT

JWT(json web tokens)是目前比较流行的跨域认证解决方案;说通俗点就是比较流行的token生成和校验的方案。碰巧公司有个app的项目的token采用了jwt方案,因此记录下后端项目集成jwt的过程,方便后续查阅。一、jwt的简单介绍 jwt生成的token是一种无状态的token,服务端不需要对该token进行保存;它一般由客户端保存。客户端访问请求服务时,...

2019-07-14 19:57:00 354

转载 Java8_Lambda表达式

从2014年java8发布到现在已经有几个年头了,现在java11都发布了。公司最近把服务器环境重新搭建了一遍,jdk版本也从7换成了8,终于可以在代码里面写Lambda表达式了。作为一名java开发人员,java8的一些新东西也是必须要掌握的,今天就说说这Lambda表达式的使用。一、Lambda表达式简介(1)定义Lambda是一个匿名函数,我们可以把Lambda表达...

2019-06-19 11:19:00 189

转载 SpringBoot自定义Condition注解

最近碰到个这样的需求,需要同一套代码适配个版本数据库(数据库不同,且部分表的字段及关联关系可能会不同),即这套代码配置不同的数据库都能跑。项目采用的框架为SpringBoot+Mybatis。经过一番思考,思路如下: (1)在业务层(service)和数据访问层(Mapper)之间添加一层适配层,用来屏蔽数据库的差异 (2)适配层中代码均采用接口加实现类的方式,不同的...

2019-05-28 12:41:00 268

转载 SpringBoot2.0整合fastjson的正确姿势

SpringBoot2.0如何集成fastjson?在网上查了一堆资料,但是各文章的说法不一,有些还是错的,可能只是简单测试一下就认为ok了,最后有没生效都不知道。恰逢公司项目需要将JackSon换成fastjson,因此自己来实践一下SpringBoot2.0和fastjson的整合,同时记录下来方便自己后续查阅。一、Maven依赖说明 SpringBoot的版本...

2019-05-12 19:01:00 688

转载 在window下安装第二个mysql

win7电脑上已经通过安装的方式安装过一个5.5版本的mysql,现在需要再安装一个5.6版本的mysql,因此采用了免安装版的mysql1.下载 直接去官网下载,社区版 https://dev.mysql.com/downloads/mysql/5.6.html#downloads2.解压 解压zip文件3.配置my.ini (1)...

2019-05-10 16:07:00 127

转载 记一次InputStream引起的乱码

项目上线一周后,正准备看新闻的我突然接到了一个任务。线上突然出现了一条乱码的数据,需要解决这个bug。于是我放下了手中的保温杯,开始解决这个bug。经过一番折腾,发现是有一个同事在处理IO流上写得有点问题,导致了乱码的产生。一、问题的发现与分析(1)发现 针对这个乱码问题,我脑海中闪过了3种会导致乱码产生的情景。[1] 数据库表里面字符集设置错误[2]由于未加编码过滤器导...

2018-11-20 15:29:00 656

转载 Spring整合ActiveMQ及多个Queue消息监听的配置

消息队列(MQ)越来越火,在java开发的项目也属于比较常见的技术,MQ的相关使用也成java开发人员必备的技能。笔者公司采用的MQ是ActiveMQ,且消息都是用的点对点的模式。本文记录了实现Spring整合ActivateMQ的全过程及如何使用MQ,便于后续查阅。一、项目的搭建 采用maven构建项目,免去了copy jar包的麻烦。因此,我们创建了一个java类型的M...

2018-11-15 14:41:00 331

转载 记一次项目上线后Log4j2不输出日志的坑

公司项目采用了Log4j2来输出日志,在开发环境和测试环境下均可以输出日志,但在生成环境就没有日志输出。开始毫无头绪,后来通过不断的排查,终于解决了这个问题。在此记录下该问题的解决过程,便于后续查阅。一、发现问题@font-face{font-family:"Times New Roman";}@font-face{font-family:"宋体";}...

2018-11-09 17:21:00 1374

转载 Long类型参数传到前端精度丢失的解决方案

由于公司数据库表的id是利用雪花算法生成的,所以实体类里面定义的数据类型为Long。但是这个数据传到前端时,发生了精度丢失的现象。本文记录了从java后端的角度如何解决这个精度丢失的问题,便于自己后续查阅。一、问题的描述 前端通过ajax请求后端接口,返回json数据,然后将数据渲染到一个表格中。突然发现表格中id这一列出现了精度丢失的现象,这精度丢失是由前端引起的。二、问...

2018-11-08 17:32:00 1067

转载 SpringMVC处理跨域请求时的一个注意事项

由于公司对SpingMVC框架里面的东西进行了扩展,在配置SpringMVC时没有使用<mvc:annotation-driven>这个标签。而且是自己手动来配置HandlerMapping和HandlerAdapter。在处理跨域请求时,就抛No adapter for handler 异常了。记录下该异常的解决过程,方便后续查询。一、异常信息 具体的异常信息...

2018-11-08 10:23:00 167

转载 记一次Dubbo服务注册异常

公司项目重构,把dubbo版本从2.5.8升级为2.6.2。升级后在本地运行一点问题都没有;可是通过公司自研的发布系统将项目发布到测试环境的linux服务器下面后,出现了dubbo服务未注册的现象。刚出现这问题,大家都一脸懵逼,毕竟在本地跑起来非常顺畅。但问题总是要解决的,不可能因为dubbo服务注册异常就不升级dubbo版本。因此记录下这个问题是怎么解决的,便于后续查阅...

2018-11-07 14:52:00 271

转载 如何在自定义Filter中优雅的实现静态资源放行

在javaweb开发中,过滤器Filter比较常用于类似登录的拦截等场景。但是,当过滤器的配置不当时就会把所有的请求都拦截,静态资源也会被拦截掉,导致静态页面加载不出来。一般的解决方案是在过滤器代码中对所有的静态资源放行,但这样硬编码的方式特别不灵活,代码复用性也不高。下面说个更优雅点的方案。一、解决方案 如果将静态资源放行的功能做成在web.xml中可以直...

2018-10-19 14:51:00 1380

转载 Maven的porfile与SpringBoot的profile结合使用详解

使用maven的profile功能,我们可以实现多环境配置文件的动态切换,可参考我的上一篇博客。但随着SpringBoot项目越来越火,越来越多人喜欢用SpringBoot的profile功能。但是用SpringBoot的profile功能时,一般我们默认激活的profile肯定是开发环境的profile。当我们打成jar包后,如果在生产环境下运行,就需要在运行这个jar包的命令...

2018-08-29 14:14:00 204

转载 Maven之profile实现多环境配置动态切换

一般的软件项目,在开发、测试及生产等环境下配置文件中参数是不同的。传统的做法是在项目部署的时候,手动修改或者替换这个配置文件。这样太麻烦了,我们可以用Maven的profile来解决这个问题。只要在打包时加个参数就可以实现想打那个环境的配置文件就打包那个环境的配置文件,提高了效率。 下面介绍下具体的做法一、多环境配置文件的放置 将不同环境下的配...

2018-08-08 17:36:00 264

转载 Linux下安装nginx

记录下自己阿里云服务器下Nginx的安装过程,方便后续查阅。环境说明:CentOs7.21.先安装相关依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel11yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-de...

2018-08-06 16:26:00 64

转载 JQuery将form表单值转换成json字符串函数

由于后台接口限定,必须要将表单内容转换成json字符串提交,因此写了一个将form表单值转成json字符串的函数。 前提:页面引入了JQuery 下面直接上代码一、代码 /** 表单序列化成json字符串的方法 */ function form2JsonString(formId) { var paramArray = $('#' +...

2018-07-24 18:03:00 181

转载 Bootstrap Modal 使用remote从远程加载内容

Bootstrap的Modal这个模态窗组件还是很好用的,但在开发的过程中模态窗中的内容大部分都是从后端加载的。要实现模态窗的内容是从后端加载话,常用的实现方式有2种。它们是: (1)Modal里面套一个Iframe,通过Iframe的src去加载远程的内容。这种方式的缺点是这个模态框的宽度和高度不好调,而且把宽度和高度设置成固定值,就破坏了bootstrap的响应式布局了...

2018-07-23 15:38:00 503

转载 Java获取指定包名下的所有类的全类名的解决方案

最近有个需求需要获取一个指定包下的所有类的全类名,因此特意写了个获取指定包下所有类的全类名的工具类。在此记录一下,方便后续查阅一、思路 通过ClassLoader来查找指定包,如果是在classes文件夹下的class文件,则用遍历文件的方式来获取该包下的所有类名。如果这个包名是jar包里面的,那么需要通过遍历jar包内文件的方式来获取该包下的所有类的类名二、代码...

2018-07-20 17:34:00 1078

转载 Linux下安装解压版(tar.gz)MySQL5.7

最近尝试在Linux中安装了解压版MySQL,期间查阅了许多博客。很多博客看得我很懵逼,因此记录下自己的安装过程,方便后续查阅。 环境说明:CentOs7.2一、清理老的mysql(1)卸载已有的mysql 查找以前是否装有mysql命令:rpm -qa|grep -i mysql11rpm -qa|grep -i mysql ...

2018-07-13 16:26:00 143

转载 Log4j2使用笔记

log4j2是log4j的最新版,现在已经有很多公司在使用了。log4j2和log4j的优缺点对比,请自行百度。上一篇笔记讲了关于log4j的使用。这篇笔记主要讲解log4j2的使用。一、maven依赖的配置 log4j-core这个依赖加进来就有log4j-core和log4j-api这两个jar包了,一般开发情况下有这两个jar就可以。但是,笔...

2018-07-11 20:38:00 112

转载 Log4j使用笔记

在工作过程中,常常需要查看后台日志,为了更好的记录日志,我们使用Log4j来记录日志。一、maven依赖的配置 在maven中央库库里找到log4j的java包,添加到依赖即可。 <dependency> <groupId>log4j</groupId> <artifactId>...

2018-07-11 20:37:00 72

转载 JavaWeb开发中采用FreeMarker生成Excel表格

最近做了一个需求,要求导出一个采购合同的Excel表格,这个表格样式比较多。由于是合同,这个Excel表格里面有好多格式要求,比如结尾处签字那部分就有格式要求。这里介绍种采用FreeMarker的api来生成Excel文件的方案一、方案的对比 针对这个需求我想了2个方案,介绍如下 方案一:先做一个合同的表格模板,然后把变量都填充...

2018-07-11 16:36:00 271

转载 Linux下安装jdk+maven +git

Linux系统下的操作,一直不是很熟悉。作为一名java开发工程师,感到很惭愧。因此把自己的阿里云服务器安装环境相关的东西给记录下来,方便后续查阅。 本文所采用的Linux系统为阿里云的服务器CentOs7.2一、安装jdk(1)去官网下载jdk安装包 下载好jdk-8u172-linux-x64.tar.gz 这个安装...

2018-07-11 14:35:00 175

转载 Linux下查找进程id并强制停止进程的脚本

Linux下的tomcat的停止脚本shutdown.sh经常失败,造成tomcat进程没关闭。所以只能手动查找进程id,然后用kill命令来强制停止。每次都要这样查一下,然后再杀进程。感觉有点麻烦,所以就把这个动作写在了脚本里面。 一、思路 这个脚本其实就2步,先获取进程id,然后 kill 掉这个进程。(1)获取进程id的方法 这个可以用 awk命令来获取...

2018-07-11 13:01:00 472

转载 Linux下Maven+SVN自动打包脚本

公司的开发环境每次部署项目都很麻烦,需要手动打包并上传上去。这个太麻烦了,所以就准备搞个自动打包的脚本。脚本自动从svn代码库里面更新最新的代码下来,然后maven打包,最后把war包丢到tomcat里面去。其实搞个Jenkins就完事了,但是还是想自己写个脚本玩玩,因此特意记录下自己写这些脚本的过程,方便后续查阅。一、环境介绍 CentOs6.9 +svn + ...

2018-07-10 17:36:00 225

转载 SpingMVC的<context:component-scan>包扫描踩坑记录

公司项目配置的Spring项目的包扫描有点问题,出现了一个被Spring容器管理的Bean被创建了2次的现象。在此记录下解决的过程,方便后续查阅。改动前:容器启动监听器中会扫描全部包,创建实例SpringMVC配置文件也会扫描全部包,创建实例产生的问题:加了注解的类的实例都创建了2个改动后:容器启动监听器里面负责非Controller层bean的创建SpingMVC配置文件里只...

2018-06-25 16:35:00 160

转载 获取Spring容器Bean对象工具类

在开发中,总是能碰到用注解注入不了Spring容器里面bean对象的问题。为了解决这个问题,我们需要一个工具类来直接获取Spring容器中的bean。因此就写了这个工具类,在此记录一下,方便后续查阅。废话不多说,直接上代码。一、代码package com.zxy.demo.spring;import org.springframework.beans.BeansE...

2018-06-20 17:46:00 128

转载 SpringBoot整合Redis及Redis工具类撰写

SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果。因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable)。看了很多博客后,我成功的整合了,并写了个Redis操作工具类。特意在此记录一下,方便后续查阅。一、Maven依赖(1)本文所采用的SpringBoot的版本如下 <parent&g...

2018-06-19 18:07:00 448

转载 记一次SpringMVC碰到的坑

在SpringMVC中,我们Controller中接收比如表单的参数,只要保证方法的形参的名字和表单中input元素的的name一样就可以接收到参数。 但是,我开发的一个项目一上线就报错,错误提示是接收参数失败了。报错信息如下:java.lang.IllegalArgumentException: Name for argument type [j...

2018-05-30 14:16:00 616

转载 Java通过pinyin4j实现汉字转拼音

碰到个需求,需要按用户名字的首字母来排序。这就需要获取汉字对应的拼音了,突然就想起了pinyin4j这个jar包,于是就开始写了个汉字转拼音的工具类。在此记录一下,方便后续查阅一、Pom依赖 <!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j --> <dependency>...

2018-05-09 14:54:00 175

转载 通过定义过滤器filter解决跨域问题

跨域是比较常见问题,比较简单的方式就是直接定义一个过滤器filter,然后在请求头里面加上一些参数。下面来看看具体的写法吧。一、java代码package com.hj.userapi.core.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servle...

2018-04-10 14:05:00 185

转载 浅谈Spring中的事务回滚

使用Spring管理事务过程中,碰到过一些坑,因此也稍微总结一下,方便后续查阅。1.代码中事务控制的3种方式编程式事务:就是直接在代码里手动开启事务,手动提交,手动回滚。优点就是可以灵活控制,缺点就是太麻烦了,太多重复的代码了。声明式事务:就是使用SpringAop配置事务,这种方式大大的简化了编码。需要注意的是切入点表达式一定要写正确。注解事务:直接...

2018-01-10 11:45:00 151

转载 Hiberante持久化对象的3种状态

近日一同事问我关于Hibernate中对象的3种状态的问题,因此特意总结一下。在Hibernate中对象是有以下3中状态:瞬时态(transientobject):没有OID值,没有被session对象管理持久态(persistentobject):有OID值,被session对象管理了脱管态(detachedobject):有OID值,没有被session管理 ...

2018-01-03 09:49:00 77

转载 Java实现Zip压缩包解压

对zip压缩包的解压是比较常见的应用场景,java代码的实现也很简单。废话不多说,直接上代码吧一、代码 /** * zip解压 * @param srcFile zip源文件 * @param destDirPath 解压后的目标文件夹 * @throws RuntimeException 解压失败会抛出运行时异常 */ p...

2017-12-29 09:42:00 119

转载 maven中添加jetty运行插件

maven项目,用jetty插件运行,对热部署的支持比较好。maven的pom文件加入下面代码 <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <versi...

2017-12-24 16:53:00 341

转载 Java实现将文件或者文件夹压缩成zip

最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类。但找了好多篇博客,总是发现有bug。因此就自己来写了个工具类。 这个工具类的功能为:(1)可以压缩文件,也可以压缩文件夹(2)同时支持压缩多级文件夹,工具内部做了递归处理(3)碰到空的文件夹,也可以压缩(4)可以选择是否保留原来的目录结构,如果不保留,所有文件跑压缩包根目录去了,...

2017-11-19 21:45:00 121

转载 Could not obtain transaction-synchronized Session for current thread原因及解决方案

在开发中,碰到到了Could not obtain transaction-synchronized Session for current thread异常,因此特意记录下。一、问题的产生 在使用Hibernate时碰到了如下异常: 检查了代码发现是代码中用sessionFactory.getCurrentSession()这样获取sessi...

2017-11-03 14:51:00 1144

转载 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果

今天在公司项目中,发现一个计算运费的妙招。由于运费规则各种各样,因此写一个公式存到数据库。下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了。一、先看几张图(1)数据库存的公式 (2)怎么在java代码中计算出结果,见下面2张图 这图,是在map集合中存了 key为"\\$w" value...

2017-10-26 20:53:00 488

空空如也

空空如也

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

TA关注的人

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