java
文章平均质量分 58
会吃猫的的鱼
这个作者很懒,什么都没留下…
展开
-
powermock+mokito 模拟mybatis-plus 链式操作
写个单元测试类,发现没办法模拟dao层的行为,dao层采用mybatisPlus ,经过半天时间的潜心研究终于解决mybatisplus 链式查询的模拟问题,下面放出解决办法1,自定义的ArgumentMatcher,这里做成了基类,继承后使用import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;import org.mockito.ArgumentMatcher;import org.mockito.Mockito原创 2022-02-10 17:17:02 · 11757 阅读 · 1 评论 -
hiberna-validator 首次调用性能优化
spring集成hibernate-validator后,使用校验器第一次进行校验时,由于需要初始化导致第一次调用耗时过长,rpc中校验很可能导致调用超时,所以下面使用启动时初始化来解决spring集成hibernate-validator配置: <bean id="validator" class="org.springframework.validation.beanva...原创 2019-11-08 15:55:27 · 1702 阅读 · 0 评论 -
RSA密钥生成、加密解密、签名验签
RSA 非对称加密公钥加密,私钥解密私钥签名,公钥验签下面是生成随机密钥对: //随机生成密钥对 KeyPairGenerator keyPairGen = null; try { keyPairGen = KeyPairGenerator.getInstance("RSA"); } catch (原创 2016-07-22 17:38:06 · 12846 阅读 · 0 评论 -
高访问量页面优化实战 require.js+cache
最近给公司一个访问量很大的页面做优化,页面如下图拿到这个页面后就先来分析分析这个页面的问题1,首先这个页面是jsp的,全部是服务器端生成的页面,在访问量很大的情况下也没法使用缓存加速,因为数据都耦合在一起,有标的的信息,有标的的状态,有与用户相关的红包的信息2,页面中引入了非常多的 js ,还有像jquery这样的大个头的文件,严重影响网页加载速度,并且是通过一个装原创 2016-03-23 11:33:47 · 1949 阅读 · 0 评论 -
为mybatis 增加通用的crud 方法
仅供学习参考之用,不要用于生产环境!!! 在项目开发中使用mybatis 经常要对着一个 db 对应的对象写 crud 方法,这是很恼人的比如下面的表 对应的 bean 如下 import java.util.Date;public class DBEntityTest { private Integer id; private String ui...原创 2016-02-17 10:35:52 · 6000 阅读 · 2 评论 -
最正确的文件下载 , 文件名不乱码
最正确的文件下载 , 文件名不乱码原创 2016-02-01 15:57:48 · 758 阅读 · 1 评论 -
xlsTemplate 1.0----excel模版工具1.0
xls 模版工具原创 2016-02-01 15:51:44 · 809 阅读 · 0 评论 -
使用 ant 从svn 检出项目, 让测试脱离ide 自行打包,发布测试
为了能让 测试人员可以从svn上自己下载maven项目源代码,自己编译打包, 这里使用了ant 和批处理 进行实现我们的思路是 :maven 已经有了完善的项目构建功能,因此这里使用maven 对项目编译和打包, 而从svn 下载源代码的功能交给了ant然后用批处理将这两个操作贯穿起来, 并提供ui 操作.maven 具体的配置 打包流程 请参考 我的另一片原创 2015-11-30 17:49:55 · 2382 阅读 · 0 评论 -
使用 maven 打包配置文件
以往项目部署时, 项目的相关配置文件会在服务器上的部署脚本中被替换, 这样导致的问题是: 服务器上的配置文件缺少维护, 并不能被开发人员及时看到,因此在部署时因为配置文件导致的问题频发.我们希望在编译打包的过程中,将对应的配置文件导入到相应的位置,这样服务器就仅需要做好部署的工作就可以了. 下面以web 项目为例 项目下面的env 目录存放环境变量(仅web项目)原创 2015-11-30 17:16:57 · 6203 阅读 · 1 评论 -
Java 并发工具包 java.util.concurrent 用户指南
译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。转载 2016-08-17 16:13:28 · 570 阅读 · 0 评论 -
flume-ng 1.6.0 和 elastic-search 2.3.5 一起玩 elasticsearchSink
flume 1.6.0提供的 elasticsearchSink 和 elastic-search2.3.5不兼容,在网上找了几个版本后都无法使用。所以只能自己改源码了。。。。。。1,将 flume /lib 下的 guava 删掉2,将 es /lib下的jar 全部复制到 flume/lib 下3,将flume/lib 下原来的elasticsearchSink 删掉原创 2016-09-12 11:37:08 · 2049 阅读 · 1 评论 -
flume 1.6.0 安装及配置
flume 是一个日志收集系统,它可以自定义数据的来源和目的地,具体的介绍百度有一大把flume-ng 的ng 指的是 next generation 就是新一代的意思对应的就有 flume-og 即老的版本flume 如图所示,我们可以任意定义flume的节点然后最终将log 写入hdfs 或者kafka 或者随便你怎么搞我这里演示一下基本的安装与配置st原创 2016-08-22 17:07:08 · 3471 阅读 · 0 评论 -
BeanCopier 浅复制工具类
package com.bestpay.messagecenter.oss.service;/** * Created by lxn on 2016/11/2. */import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.concurrent.locks.Lock;im原创 2016-11-07 09:49:01 · 2737 阅读 · 0 评论 -
maven 打可执行jar
做个短信项目全是socket,突然发现自己好像只会打war包,都是给tomcat 或者jetty用的下面就讲一下怎么打一个可执行的jar可执行jar 中有个MANIFEST.MF 文件指明了开始的入口,和lib等,内容如下Manifest-Version: 1.0Built-By: lxnBuild-Jdk: 1.7.0_79Class-Path: lib/原创 2016-10-28 14:58:09 · 450 阅读 · 0 评论 -
内存延迟队列实现DelayQueue
jdk 提供了延迟队列:java.util.concurrent.DelayQueue我们基于 DelayQueue 实现一个固定时间的延迟队列下面是固定延迟时间的装饰类实现,demo 在下面的main方法中/** * Bestpay.com.cn Inc. * Copyright (c) 2011-2017 All Rights Reserved. */package com.bestp...原创 2018-03-20 09:39:32 · 1177 阅读 · 0 评论 -
intellij 自动生成mybatis 代码+分页器,操作指南
1,一直以来我都在使用号称mybatis 最好的分页器:mybatis-paginator:https://github.com/miemiedev/mybatis-paginator2,业务部门需求多变,开发任务繁重,因此希望使用代码生成技术提高工作效率,然后就找到了inteillij插件库里的一款mybatis 生成插件,作者主页:https://gitee.com/rohou/myb...原创 2018-09-30 16:19:27 · 1508 阅读 · 0 评论 -
动态修改spring 事务的属性
有这样一个需求,某分库分表中间件做了读写分离的路由,依据的是事务的readOnly属性。但是读写分离会有一定的延迟,因此不适合将全部读操作都放在从库,而是应该将部分实时性依赖低的查询操作放在从库,但是接口都是统一提供的,想根据接口入参实时调整事务的readOnly属性的想法就出现了。通过继承修改DataSourceTransactionManager,将TransactionD...原创 2019-05-20 16:32:52 · 508 阅读 · 0 评论 -
使用 poi 导入execl模版文件添加数据制作报表
突然发现好久没写blog了,上一篇还是14年10月更新的,不是这段时间没编码,而是恰恰相反,这段时间实在太忙了,所以没有时间更新项目中经常要制作报表而完全自己用poi生成报表太繁杂了,于是想用制作好的execl 替换数据实现报表的生成.我对这各功能做好了封装,请看代码:package com.newnewbank.utils.doc;import java.io.File;imp原创 2015-04-02 18:25:09 · 1218 阅读 · 0 评论 -
使用 poi 生产 excel
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。项目中要生成这样格式excel使用poi请先下载对应的jar包到项目,请自行搜索首先把表单抽象成java bean我的bean 如下:package com.poi.entity;import jav原创 2014-10-20 01:29:42 · 1483 阅读 · 0 评论 -
Spring对Hibernate事务管理
Spring对Hibernate事务管理原文地址:http://www.cnblogs.com/macula/archive/2013/05/08/3066914.html每次带班,讲到Spring事务这一块的时候,大家总是有很多的疑问,其实Spring事务并不难,可能初次接触的时候有的不好理解,今天我们就详细来谈一下Spring的事务管理机制,主要是对Hibernate进转载 2014-03-12 16:14:04 · 645 阅读 · 0 评论 -
Hibernate主键生成策略类型的使用说明[hibernate generator strategy]
1) assigned [转让主键生成权]主键由外部程序负责生成,无需Hibernate参与。2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。3) seqhilo与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Ora转载 2014-03-10 11:46:42 · 699 阅读 · 0 评论 -
jsp 分页查找算法
首先我们要对页面需要的参数进行初始化,包括 每页行数 总行数 总页数 当前页 String classname="com.danale.content.Partnersinf"; CheckObject co = new CheckObject(); String select=request.getParameter("select"); String conditi原创 2014-04-14 08:59:22 · 1382 阅读 · 0 评论 -
jsp六个常用标签
一、Include指令 标签表示包含一个静态的或者动态的文件。 语法: or 注: 1、page="path" 为相对路径,或者代表相对路径的表达式。 2、flush="true" 必须使用flush为true,它默认值是false。 3、子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个 来传递多个参数给动态文件。转载 2014-03-20 09:37:40 · 785 阅读 · 0 评论 -
如何使用Log4j?
如何使用Log4j?1、 Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧: http://jakarta.apache.org/log4j 。2、Log4j的概念 Log4j中有三个主要的组件,它们分别是 Logger、Appender和Layout,Log4j 允许开发人员定义多转载 2014-03-20 15:57:15 · 559 阅读 · 0 评论 -
zip 的 压缩与解压
zip格式是开源的相比rar格式,zip的压缩和解压都是很方便的,我们需要用到apache ant 项目里的 ant.jar点击下载 :http://download.csdn.net/detail/xiananliu/7211325先附上 解压的 方法 /** * 解压zip包的内容到指定的目录下,可以处理其文件夹下包含子文件夹的情况 * * @par原创 2014-04-18 09:39:14 · 1517 阅读 · 0 评论 -
强大的 java 分页器
花了几个小时写的一个强大的分页器package cn.soft.util;/** *类描述:分页器 * *说明:pagination 为开头的变量指的是 翻页时用的按钮的页码 * * *@author: 刘夏楠 *@date: 日期:2014-5-7 时间:下午10:26:21 *@version 1.0 */public class Pag原创 2014-05-07 23:57:29 · 2075 阅读 · 0 评论 -
java 消除文件目录结构
//消除目录结构List list=allFile(targetPath);for(File each:list){File file=new File(targetPath+File.separator+each.getName());each.renameTo(file);}原创 2014-04-22 08:39:13 · 816 阅读 · 0 评论 -
Double 类型运算时的精度问题
double 类型运算时的 计算的精度不高,经常会出现0.999999999999999这样的情况,那么就需要用BigDecimal 它是java提供的用来高精度计算的工具类 下面是对这个类的一个包装,方便使用: package cn.soft.util;import java.io.Serializable; import java.math.BigDecimal;原创 2014-05-10 00:38:32 · 1890 阅读 · 0 评论 -
PO BO VO DTO POJO DAO概念及其作用
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋友会会心一笑)。首先声明偶也不是什么高手,以下总结都是自己的体会。不对之处请您多指教。PO:persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录转载 2014-07-02 14:03:30 · 603 阅读 · 0 评论 -
static{}语句块详解
转载:static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例:示例一[java] view plaincopycla转载 2014-07-03 17:02:22 · 600 阅读 · 0 评论 -
正确的 zip 压缩与解压代码
网上流传的zip压缩与解压 的代码有很大的问题 虽然使用了ant进行压缩与解压,但是任务的流程还是用的java.util.zip 的方式写的,我在使用的过程中遇到了压缩的目录结构有误,甚至出现不同解压软件显示的目录结构不同的窘境。下面给出使用org.apache.tools.ant.taskdefs.Zip;和org.apache.tools.ant.taskdefs.Expand 的压缩和解原创 2014-05-29 13:18:29 · 2871 阅读 · 0 评论 -
利用反射机制 实现 javabean 转化为 map(效率低,仅限学习)
package com.test.entity;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.Type;import java.util.Collectio...原创 2014-08-06 02:19:42 · 1802 阅读 · 0 评论 -
图片打水印 缩放 以及输入流转换
图片打水印和缩放: public final static BufferedImage[] pressImage(InputStream srcImg, String waterImg,float alpha) throws IOException { //File file = new File(targetImg); Image image =原创 2014-10-10 17:40:40 · 1625 阅读 · 0 评论 -
时间计算工具
工作中用到了很多的有关时间计算的工具原创 2014-10-10 12:28:50 · 598 阅读 · 0 评论 -
使用注解实现 bean 转 csv
csv 文件是以 aaa,bbb,cccaaa,bbb,ccc保存的这里的要求是将 List 类型的线性表 转化成 类似 html 中 table的格式,即第一行是 head 后面是 body使用注解的效果如下 : List users=new ArrayList(); users.add(new User("刘夏楠", 23, "男")); user原创 2014-10-10 23:42:12 · 3323 阅读 · 0 评论 -
Java命名规范
命名规范本规范主要针对java开发制定的规范 项目命名项目创建,名称所有字母均小写,组合方式为:com.leadal.$projectName.$component.$hiberarchy。$projectName:项目名称 $component:模块名称 $hiberarchy:开发层次名称 例如: com.leadal.tims.exchange.dao转载 2014-02-27 14:50:50 · 861 阅读 · 0 评论