![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
open source
文章平均质量分 84
iteye_1972
这个作者很懒,什么都没留下…
展开
-
从iBATIS Hibernate 去日志依赖 看 模块化Java
前几天看了一篇文章,名为模块化Java简介。模块化的思想就是去耦合,这样在升级或者维护的时候都会方便一些,这样的道理大家都知道,但是怎样在实现中完成这一点呢。作者在“类库也是模块”这一节中介绍了“类库毫无疑问也是模块。对于类库来讲,可能没有一个单一接口与之通信,但往往却有‘public’ API(可能被用到)和‘private’ package(文档中说明了其用途)。此外,它们...2009-12-17 17:30:18 · 99 阅读 · 0 评论 -
使用Mockito进行单元测试【1】——mock and verify
1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?mock其实是一种工具的简称,他最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有mock,则我们需要把整个依赖树...原创 2012-03-17 17:04:08 · 1377 阅读 · 0 评论 -
Java properties配置资源文件处理
除了自己实现java文本处理properties配置资源文件这个坏习惯之外,使用JDK自带类库读取Properties文件的方法主要有三种 ClassLoader.getResourceAsStream ("some/pkg/resource.properties"); Class.getResourceAsStream ("/some/pkg/resource.properties"...2010-07-28 13:21:01 · 142 阅读 · 0 评论 -
使用Guice依赖注入实现工厂模式[5]——Guice的Scope
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Guice 怎对不同的对象生命周期,提出了Scope的概念,具体见 http://code.google.com/p/google-guice/wiki/Scopes而工厂方法根据的生成对象的不同生命周期,也导致了不同的模式...2010-07-26 21:20:46 · 239 阅读 · 0 评论 -
使用Guice依赖注入实现工厂模式[4]——Factory Method 模式
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Factory Method 模式 http://www.riabook.cn/doc/designpattern/FactoryMethod.htm如果保持这个模式,需要创建一个表现依赖关系的模块类如下: impo...2010-07-26 21:17:16 · 289 阅读 · 0 评论 -
使用Guice依赖注入实现工厂模式[3]——Builder 模式
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。Builder 模式 http://www.riabook.cn/doc/designpattern/BuilderPattern.htm使用Guice实现的时候,可以只用bind方法来进行依赖关系的建立,但是这样对现有代码...2010-07-26 21:12:47 · 239 阅读 · 0 评论 -
使用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 · 184 阅读 · 0 评论 -
使用Guice依赖注入实现工厂模式[1]——Simple Factory 模式
Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。关于Guice所有的资料都可以在其项目主页[http://code.google.com/p/google-guice/]中找到,其中还包括一个精彩的演讲,由于演讲中是使用Guice取代工厂模式使用的,所以作者以一些工厂模式作为...2010-07-26 21:00:37 · 241 阅读 · 0 评论 -
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 · 178 阅读 · 0 评论 -
AttributeError: 'TracError' object has no attribute 'acctmgr'
使用AccountManager 进行用户管理的时候报了这样的错误:Trac检测到一个内部错误: AttributeError: 'TracError' object has no attribute 'acctmgr' 在我的环境下出现这个问题的原因是在管理页面的 "管理—>一般—>基础设置—>描述"中出现了中文字符...原创 2010-07-23 18:29:54 · 115 阅读 · 0 评论 -
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 · 159 阅读 · 0 评论 -
结合Spring使用Mybatis Generator生成的代码
本文将简要介绍怎样利用Spring 整合 Mybatis Generator自动生成的代码: 关于Mybatis Generator自动生成怎样自动生成代码,请参考这篇文章:使用Mybatis Generator自动生成Mybatis相关代码,本篇文章将接着上一篇文章的例子继续。一、准备环境1. 下载jar包:首先要在Mybatis网站中下载相应的 jar...2010-11-24 19:49:57 · 122 阅读 · 0 评论 -
使用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 · 263 阅读 · 0 评论 -
将 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 · 224 阅读 · 0 评论 -
使用google-diff-match-patch比较文件
要对文本文件的进行比较的时候,可以考虑使用google-diff-match-patch,它可以进行比较、匹配和生成补丁的操作,这里将展示一个简单文本比较的例子。 首先我们必须接定好文本比较后的输出。假设我们有两段文本“123456789”和“012356889”,然后我们希望输出他们的“差异”,可是这个“差异”怎么表示呢? 使用google diff的话,这个差异就是从左边的字符...2011-08-03 10:20:29 · 1675 阅读 · 0 评论 -
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 · 218 阅读 · 0 评论 -
测试辅助工具 hamcrest
用了JUnit有一段时间了,竟然从来没有用过assertThat。assertThat是JUnit在引入hamcrest后加入的新语句。这也难怪,JUnit的入门教程中使用的都是assertEquals,一看就懂;相对来讲assertThat的语法就比较晦涩难懂了,而且还需要学习一堆不知道什么时候才要用到的匹配器对象。本来书写简单的单元测试确实并不需要用到assertThat,但是当需要对断言...原创 2009-12-24 13:44:01 · 137 阅读 · 0 评论 -
使用Mockito进行单元测试【2】—— stub 和 高级特性
一篇中介绍了Mockito的基本信息,现在接着介绍Mockito强大的stub功能 2. Mockito使用实例5. 对连续的调用进行不同的返回 (iterator-style stubbing)还记得在实例2中说道当我们连续两次为同一个方法使用stub的时候,他只会使用最新的一次。但是在某一个方法中我们确实有很多的调用怎么办呢?mockito当然想到这一点了: wh...原创 2012-03-17 18:39:27 · 653 阅读 · 0 评论