技术博客
文章平均质量分 82
别让大学对不起高三
这个作者很懒,什么都没留下…
展开
-
spring 注解
@NotNull:注解元素不能为空,为空报异常 @Null:一定为空 @Length(min= ,max= ) :限定注解元素范围 @Digits(integer=,fraction=) 验证字符串是否是符合指定格式的数字,interger指定整数精度,fraction指定小数精度。微框架spring boot: @RestConroller:使用了这个注解接受的http服务默认包含@Res原创 2016-07-11 00:18:22 · 11911 阅读 · 0 评论 -
mybatis There is no getter for property named 'xx' in 'class
if test="password != null" > 会先调用类的getter方法去获取password属性,而调用的方法名是通过password这个字段名去映射的,如果你类中定义了驼峰式passWord,那么这里便会抛出There is no getter for property named 'password' in 'class 的异常,因为java本就是大小写敏感的,所以为防止少出错原创 2017-01-24 10:56:46 · 746 阅读 · 0 评论 -
从get请求的URL获取返回流
public InputStream getFileStream(String uri){ BufferedInputStream bin = null; ByteArrayOutputStream out = null; ByteArrayInputStream inputStream = null; try { out = new ByteArr原创 2017-01-07 15:25:57 · 5357 阅读 · 0 评论 -
restTemplate使用及中文乱码问题
restTemplate是spring提供的一个发送http请求的工具,我们知道spring里面有httpclient实现http请求,但是httpclient的使用相对繁琐,restTemplate使用就方便多了。不过在使用的时候遇到了中文乱码问题,我们知道http发送post请求时是以表单方式提交请求参数,2而restTemplate中表单内string的编码方式默认是ISO-8859-1编码原创 2016-09-17 18:24:42 · 15631 阅读 · 0 评论 -
多线程分组处理list
当一个list很大时,你是否想过进行多线程分组处理?又或者这样一个场景,你想批量处理一个数据库里的数据,里面数据是几十万,几百万条,你需要每次读1万条出来处理,而这1万数据如果一条一条顺序处理可想而知所有数据处理完所需要的时间,看下本菜鸟提供的两个分组处理方式,public class ThreadsTest { public static String listToStr(Li原创 2016-11-27 20:10:12 · 8690 阅读 · 0 评论 -
基于redisson的分布式锁的简单注解实现
Redisson依赖:dependency> groupId>org.redissongroupId> artifactId>redissonartifactId> version>2.2.13version>dependency>网上关于redis分布式锁实现的文章很多,本文也参考了很多网上的代码,不过我做的是再封一层,利用AOP与注解实现注解形式的原创 2016-10-29 17:14:36 · 5883 阅读 · 0 评论 -
Spring拦截器实现controller层json数据返回
Controller层的作用是处理业务逻辑并返回数据,那怎么返回数据呢?接口的请求通过HttpServletRequest和HttpServletResponse实现前后端的交互,ServletResponse中有一个getWriter()方法获取到一个PrintWriter对象,通过PrintWriter的.print()方法即可将数据通过HttpServletResponse传递给前端。原创 2016-12-04 00:46:49 · 35924 阅读 · 7 评论 -
iText实现html转pdf
iText是一个文件转换的jar包,可实现html文件,xml文件转PDF,word的jar包。maven依赖:dependency> groupId>com.itextpdfgroupId> artifactId>itextpdfartifactId> version>5.5.9version>dependency>dependency>原创 2016-09-10 18:56:22 · 4109 阅读 · 0 评论 -
RestTemplate下载文件
http使用的是二进制进行传输,也就意味着无论我们输入是什么类型,最终都会被转为二进制进行传输,那么接受方如何解析呢,这便是http头的意义,我们将解析格式放在http头中,接受方接受到数据后回去根据头中我们定义的规则解析数据,包括数据格式,类型,编码方式,所以,要使用http 进行文件传输,头是必要的。restTemplate下载文件:RestTemplate restTemplate原创 2016-09-26 00:22:00 · 38944 阅读 · 3 评论 -
System.nanoTime与System.currentTimeMillis的区别
平时产生随机数时我们经常拿时间做种子,比如用System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结果将会差别很小,甚至一样,因为现代的计算机运行速度很快。后来看到java中产生随机数函数以及线程池中的一些函数使用的都是System.nanoTime,下面说一下这2个方法的具体区别。转载 2016-09-04 16:42:37 · 301 阅读 · 0 评论 -
freeMaker模版引擎替换参数
freeMaker是一个完成参数替换的模版引擎jar包,所需要的maven依赖, dependency> groupId>org.freemarkergroupId> artifactId>freemarkerartifactId> version>2.3.23version>dependency> 我这里引的是2.3.23版的,可以选择引入更高版本。进行原创 2016-09-10 18:14:08 · 2401 阅读 · 0 评论 -
一个简单的抽奖算法
通过随机数的区间分布实现一个抽奖算法。接受一个包含奖品中奖概率的list,返回中奖的奖品。先定义一个抽象奖品类。public abstract class AbstractPrize { /** * 奖品概率 */ private double probability; public double getProbability() {原创 2017-03-30 09:00:40 · 3030 阅读 · 1 评论