自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 使用Mockito进行单元测试【2】—— stub 和 高级特性

一篇中介绍了Mockito的基本信息,现在接着介绍Mockito强大的stub功能 2. Mockito使用实例5. 对连续的调用进行不同的返回 (iterator-style stubbing)还记得在实例2中说道当我们连续两次为同一个方法使用stub的时候,他只会使用最新的一次。但是在某一个方法中我们确实有很多的调用怎么办呢?mockito当然想到这一点了:  wh...

2012-03-17 18:39:27 639

原创 使用Mockito进行单元测试【1】——mock and verify

1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?mock其实是一种工具的简称,他最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖:  当我们需要测试A类的时候,如果没有mock,则我们需要把整个依赖树...

2012-03-17 17:04:08 1353

使用google-diff-match-patch比较文件

要对文本文件的进行比较的时候,可以考虑使用google-diff-match-patch,它可以进行比较、匹配和生成补丁的操作,这里将展示一个简单文本比较的例子。 首先我们必须接定好文本比较后的输出。假设我们有两段文本“123456789”和“012356889”,然后我们希望输出他们的“差异”,可是这个“差异”怎么表示呢? 使用google diff的话,这个差异就是从左边的字符...

2011-08-03 10:20:29 1616

原创 java 的 MD5编码处理

当需要对一个大文件计算MD5校验和时,JDK提供的方法速度是非常快的,甚至比操作系统提供的本地工具还要快。详情可以查看这个链接 http://www.twmacinta.com/myjava/fast_md5.php 这里有一个简单的示例,来自 http://www.javalobby.org/java/forums/t84420.html:public static void mai...

2011-07-13 09:19:34 514

原创 groovy db GString 错误

下面是一段很简单的groovy显示某oracle数据库用户下所有表名的代码:import groovy.sql.*;db = Sql.newInstance( 'jdbc:oracle:thin:@localhost:1521:orcl', 'abc', 'abc', 'oracle.jdbc.driver.OracleDriver')tablename = 'ta...

2011-05-11 12:30:32 163

结合Spring使用Mybatis Generator生成的代码

本文将简要介绍怎样利用Spring 整合 Mybatis Generator自动生成的代码: 关于Mybatis Generator自动生成怎样自动生成代码,请参考这篇文章:使用Mybatis Generator自动生成Mybatis相关代码,本篇文章将接着上一篇文章的例子继续。一、准备环境1. 下载jar包:首先要在Mybatis网站中下载相应的 jar...

2010-11-24 19:49:57 119

使用Mybatis Generator自动生成Mybatis相关代码

本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码:一、构建一个环境:1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); 2. 然后注入数...

2010-11-21 21:25:50 254

原创 将 java.util.Properties 作为参数传入Spring [初级]

在一个应用中,需要将 java.util.Properties 作为参数传入 一个类中,并读出其中的一个参数 package cn.com.test.spring.properties;import java.util.Properties;import org.springframework.context.ApplicationContext;import org....

2010-11-11 13:18:40 206

Hudson java.home 设定

在学习使用Hudson进行持续集成时,总是报这样的错误:can't open C:\Program Files\Java\jdk1.5.0\lib\tzmappings. Started by user anonymousUpdating svn://127.0.0.1/test/quickstart/trunkAt revision 886no change for sv...

2010-08-20 19:56:53 202

Java properties配置资源文件处理

除了自己实现java文本处理properties配置资源文件这个坏习惯之外,使用JDK自带类库读取Properties文件的方法主要有三种 ClassLoader.getResourceAsStream ("some/pkg/resource.properties"); Class.getResourceAsStream ("/some/pkg/resource.properties"...

2010-07-28 13:21:01 128

使用Guice依赖注入实现工厂模式[5]——Guice的Scope

Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Guice 怎对不同的对象生命周期,提出了Scope的概念,具体见 http://code.google.com/p/google-guice/wiki/Scopes而工厂方法根据的生成对象的不同生命周期,也导致了不同的模式...

2010-07-26 21:20:46 234

使用Guice依赖注入实现工厂模式[4]——Factory Method 模式

Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Factory Method 模式 http://www.riabook.cn/doc/designpattern/FactoryMethod.htm如果保持这个模式,需要创建一个表现依赖关系的模块类如下: impo...

2010-07-26 21:17:16 270

使用Guice依赖注入实现工厂模式[3]——Builder 模式

Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Builder 模式 http://www.riabook.cn/doc/designpattern/BuilderPattern.htm使用Guice实现的时候,可以只用bind方法来进行依赖关系的建立,但是这样对现有代码...

2010-07-26 21:12:47 232

原创 使用Guice依赖注入实现工厂模式[2]——Abstract Factory 模式

otice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Abstract Factory 模式 http://www.riabook.cn/doc/designpattern/AbstractFactory.htm使用Guice实现的时候,可以将其中的MacWidgetFactor...

2010-07-26 21:08:52 180

使用Guice依赖注入实现工厂模式[1]——Simple Factory 模式

Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。关于Guice所有的资料都可以在其项目主页[http://code.google.com/p/google-guice/]中找到,其中还包括一个精彩的演讲,由于演讲中是使用Guice取代工厂模式使用的,所以作者以一些工厂模式作为...

2010-07-26 21:00:37 238

原创 StackOverflowError on SqlMapClientBuilder.buildSqlMapClient

在使用ibatis的时候,出现了这样的错误。原因是引入了两个不同版本的gnujaxp.jar,删除其中一个即可 参考链接http://forums.sun.com/thread.jspa?threadID=609651&messageID=3341149 http://markmail.org/message/t6e2fr4lpqnz2bqq#query:+page...

2010-07-23 18:36:26 168

原创 AttributeError: 'TracError' object has no attribute 'acctmgr'

使用AccountManager 进行用户管理的时候报了这样的错误:Trac检测到一个内部错误: AttributeError: 'TracError' object has no attribute 'acctmgr' 在我的环境下出现这个问题的原因是在管理页面的 "管理—>一般—>基础设置—>描述"中出现了中文字符...

2010-07-23 18:29:54 111

trac简易安装指南

最权威的安装指南当然要参照 trac 的官方网站 http://trac.edgewall.org/wiki/TracInstall 不过那里不必要的信息比较多,这里是将安装过程简化记录一下。以下过程实际是在windows xp、python2.5 下安装Trac-0.11.7的过程,不过与其他操作系统和不同版本下安装的过程是一样的。本文的最后还附了从Trac-0.11.7 升级到...

2010-07-08 16:43:16 149

原创 oracle rac srv进程 [service] 启动

每次在使用srvctl 重启实例以后,经常会出现srv这几个进程offline的情况 -bash-3.00$ crs_stat -tName           Type           Target    State     Host        ------------------------------------------------------------or...

2010-06-07 10:33:10 420

原创 iBATIS退出Apache Software Foundation

From http://www.google.com/profiles/libing.chen#buzz iBATIS退出Apache Software Foundation:Apache软件的董事会由于项目的不活跃状态而决定取消对iBATIS项目的支持,目前iBATIS项目已经转移至Google Code,并更名为mybatis http://code.google.com/p/myba...

2010-05-22 16:11:26 130

ORA-39001: invalid argument value ORA-39071: Value for EXCLUDE is badly formed.

我在使用Oracle的逻辑备份expdp的exclude特性时,总是出现以下错误:ORA-39001: invalid argument valueORA-39071: Value for EXCLUDE is badly formed.ORA-00936: missing expression 检查语法很长时间都没找到语法错误,上网查了后才发现原因在这里:http://w...

2010-04-25 19:51:14 3451

持续集成 读书笔记

《持续集成 软件质量改进和风险降低之道》所有对持续集成主题感兴趣的人都应该看看这本书,但是快速浏览一遍就行了,毕竟这个主题是一个实践性很强的主题,所以浏览一下,知道持续集成的重要性就可以了。下一步就是赶快着手实施它,而实施过程中的问题这本书是不会给你解答的,只有自己阅读文档解决。我认为整本书最重要的就是这个它的资源列表了,列在了后面供参考一. 箴言集合当一个项目经理或一名开发者说已...

2010-03-17 16:43:30 114

原创 Tape is Dead, Disk is Tape, Flash is Disk

Tape is DeadDisk is TapeFlash is DiskRAM Locality is King    --Jim Gray 2006 SSD 趋势小窥    原PPT意思简言之就是硬盘很快将会被Flash Disk取代 

2009-12-24 14:08:55 151

原创 测试辅助工具 hamcrest

用了JUnit有一段时间了,竟然从来没有用过assertThat。assertThat是JUnit在引入hamcrest后加入的新语句。这也难怪,JUnit的入门教程中使用的都是assertEquals,一看就懂;相对来讲assertThat的语法就比较晦涩难懂了,而且还需要学习一堆不知道什么时候才要用到的匹配器对象。本来书写简单的单元测试确实并不需要用到assertThat,但是当需要对断言...

2009-12-24 13:44:01 130

从iBATIS Hibernate 去日志依赖 看 模块化Java

前几天看了一篇文章,名为模块化Java简介。模块化的思想就是去耦合,这样在升级或者维护的时候都会方便一些,这样的道理大家都知道,但是怎样在实现中完成这一点呢。作者在“类库也是模块”这一节中介绍了“类库毫无疑问也是模块。对于类库来讲,可能没有一个单一接口与之通信,但往往却有‘public’ API(可能被用到)和‘private’ package(文档中说明了其用途)。此外,它们...

2009-12-17 17:30:18 93

空空如也

空空如也

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

TA关注的人

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