代码改变世界

随笔档案-2014年03月

使用Guava来计算笛卡尔积

2014-03-27 15:02 by Rollen Holt, 3899 阅读, 收藏, 编辑
摘要: 以前做项目的时候计算笛卡尔积的时候,总是使用各种for循环来嵌套,最后往往在Sonar代码检查的时候总是会报警说for循环嵌套过深。今天才知道Guava原来已经为我们提供了优雅的计算笛卡尔积的方法。比如我们要计算3个List的笛卡尔积,每个list的内容都是['a', 'b', 'c'], 请看下面的代码:public class CartesianProductUtil { public static void main(String[] args) { ImmutableSet charList = ImmutableSet.of(' 阅读全文

有关Java的日期处理的一些杂记

2014-03-25 17:01 by Rollen Holt, 1253 阅读, 收藏, 编辑
摘要: 在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用。就我个人而言我一般都会采用joda-time来替代JDK自身的日期。这篇文章是杂记,所以写的比较零散,希望大家不要见怪。SimpleDateFormat先来说说JDK自带的SimpleDateFormat类吧。SimpleDateFormat 是 Java 中一个非常常用的类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步 阅读全文

maven 检查依赖冲突和版本冲突

2014-03-19 21:50 by Rollen Holt, 11820 阅读, 收藏, 编辑
摘要: 在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true -Denforce... 阅读全文

当spring 容器初始化完成后执行某个方法

2014-03-19 21:47 by Rollen Holt, 96027 阅读, 收藏, 编辑
摘要: 在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查。 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数。 而在Spring的web项目中,我们可以介入Spring的启动 阅读全文

jackson处理boolean类型的注意点

2014-03-19 21:41 by Rollen Holt, 10458 阅读, 收藏, 编辑
摘要: 在使用jackson处理boolean类型的时候,比如你的java bean有一个boolean类型的字段:isTitle, 默认把这个Java bean转换为json的时候,这个字段就变成了title,因此如果想在转换转换的json中保持原始的字段名称的话,可以在java bean中采用下面的例子进行处理:也就是使用@JsonProperty和@JsonIgnore注解public class User { private int id; @JsonProperty("isMale") private boolean isMale; private String na.. 阅读全文