恐怕我认识的95%的搞软件的人,在开发一个项目的时候,都会费好大力气去做一个叫做“数据库”文档的东西。 里面使用了大量的表格,文字,等等,告诉用户:你看,我已经把系统的50%设计出来了! 可是,这真的是正确的吗?如果是正确的,为什么我发现90%的情况,这个文档竟然没有被同步更新?或者直到 项目 release 阶段,才会去最后更新一次这个文档? 我终于发现了答案:项目的设计阶段,把数据库扔在一边! 到今天我们已经达到一个共识,就是数据库的操作,其实就是数据持久的操作。什么是持久?就是把一个类里需要 的数据保存到磁盘上。你可以保存到文件里,可以保存到数据库里, ...
1、环境属性     在之前的文档里,我们已经学会如何去初始化一个内容上下文,例如: java 代码 Hashtable env = new Hashtable();    env.put(Context.INITIAL_CONTEXT_FACTORY,         "com.sun.jndi.ldap.LdapCtxFactory");    ...
2007-06-26

jndi step by step (5) 高级应用之Name

关键字: jndi, j2ee
1、jndi 高级应用之 Name     1.1、什么是 Name?         这之前的文档中,我们所用的例子里,对象的名字都是 java.lang.String 类型的,也就是字符串类型。     在这个文档里,我们则会介绍一些其他的对象名字类型,如 Name,以及他们的使用方法。     我们首先会讲讲什么是字符串的名字和结构化的名字,以及它们的存在的必要性。     然后,我们会介绍2个结 ...
2007-06-25

jndi step by step (4) 目录服务操作

关键字: jndi, j2ee
1、目录服务的操作     我们会用LDAP作为例子来讲解目录服务的操作。与命名服务不同,目录服务的内容上下文的初始化方式需要     改变: java 代码 // Set up the environment for creating the initial context    Hashtable env = new Hashtable(); ...
命名服务的操作 1、寻找一个对象       为了从命名服务中找到一个对象,你可以使用 Context.lookup() 方法,只要传递给它你要寻找的对象的名字就可以。例如,在当前的 命名服务中,有一个对象的名字是“report.txt”,为了找到这个对象,你可以使用    Object obj = ctx.lookup("report.txt");    lookup 返回的对象类型,依据你的实际情况来看。命名系统里可以保存各种类型的对象,在这个例子中,& ...
2007-06-24

jndi step by step (2) 准备条件

关键字: jndi, j2ee
1、准备工作      1.1 需要的软件环境                  现在我们都已经都使用java 1.4 版本了,或者更高的版本,所以,java的版本这就不详细说了。                   服务提供商(Ser ...
2007-06-22

jndi step by step (1) jndi 介绍

关键字: jndi, j2ee
你真的十分了解JNDI吗?真的知道命名服务和目录服务的区别吗? 真的知道为什么有的时候 new InitContext() 会出错?原因是什么? JNDI是J2EE的重要组成部分,让我们来好好学习一下Sun的JNDI教程吧, 把这些疑惑一一解开。 这些资料都来自Sun的JNDI教程,我会每天坚持翻译一点,但是不会全部翻译的,例如如何操作LDAP部分。 有的地方原文档有些啰嗦,我就改成简单的表达方式了。如果有翻译错的地方,请指证出来,我会修改。   1、命名服务       “命名”是计算 ...
    装修行业与IT行业有什么联系吗?现在我说有,因为他们都是提供服务的行业。且看我详细道来。     周末楼下的邻居告诉我他家厨房顶上漏水了,我下去一看,确实有水在嘀嗒嘀嗒。那就赶紧看看原因吧,自己找了半天, 发现自己家的厨房地面都是干的,所以怀疑是哪里的水管坏了,只好联系装修公司来修理。     那个王经理听我说完情况,和我说:“现在工人都忙着,能不能下周二或三给你去看看?”     一听这话我就来气:“楼下在那漏水呢,你周二 ...
在DBUnit中使用脚本来生成测试数据 用过rails 的人都会觉得rails的测试中,fixtures 实在是一个非常方便的工具。在Java中,我们通常会使用dbunit 来维护我们的测试数据,但是,dbunit有一个不方便的地方,就是测试数据要手写。虽然我们也可以从数据库中导出来,但这并不是万灵药。 在Rails中,我们可以在fixtures中写ruby 代码,这称为动态fixtures。在dbunit 中如果也能这么做就好了! 首先,如果要实现这个功能,那么肯定涉及动态脚本的内容。自己写一个?太费劲了,浪费时间,最主要是没这个能力:)。 那么怎么办?当然是“站在巨人的肩膀上” ...
//使用dbutils1.0版本 import java.util.*; import java.util.logging.*; import java.sql.*; import org.apache.commons.dbutils.*; import org.apache.commons.dbutils.handlers.*; public class TestDBUnits { public static void main(String[]args) throws Exception { TestDBUnits test = new TestDB ...
  • 16:57
  • 浏览 (678)
  • 评论 (0)
  • 分类: XP
使用dbunit,可以帮助我们在测试中维护数据,也可以辅助我们的测试。 首先当然是下载dbunit, http://dbunit.sourceforge.net 我测试用的是 MYSQL 5.0 。 建立数据库: create table test1( id int not null auto_increment, user_name varchar(50), primary key(id)) engine=innodb; 保存数据的xml文件: <dataset> <test1 user_name="tom"/> ...
  • 16:27
  • 浏览 (1015)
  • 评论 (2)
  • 分类: XP
这篇文档翻译自 http://www.javaworld.com/javaworld/jw-10-2004/jw-1004-soa_p.html?page=1 ,这个文档的时间是 04年的,所以从今天的角度来看,原文的观点未必全部正确,但是作者用一个如此简单的例子来阐述了SOA,我想对SOA的理解还是有一定帮助的。 yananay@126.com 2007年6月 现在大家都有一个共识,就是开源的项目会对大家的项目有所帮助:Structs,Spring,Hibernate,Tiles,Avalon,WebWorks,Tapestry,Oracle ADF,等等还有很多很多。但是许多人 ...
这篇文档对Spring 2.0 自带的例子进行了简解,其中最主要的还是对配置文件的用法进行了分析。希望能够帮助入门者更加了解Spring及Spring的一些习惯用法。 Spring自带的例子虽然不难,但是一定程度上体现了Spring开发者对使用Spring所推荐的方法。所以,这些例子,也可以说是Spring的一个小小的教程。
这篇文档翻译自 《RestFul Rails Development》,一些地方为了表达清楚, 转换了表达方式,有的地方甚至加了一些自己的想法。 希望能帮助更多的人熟悉用rails 开发 REST风格的应用! 有什么建议或者发现错误,可以发信给我,我会进行修改。
今天看看 petportal 这个例子。 首先我们得明白什么是 portal, portlet. 关于什么是 portlet,可以参考这个文档: http://www.blogjava.net/ericwang/archive/2005/12/05/22626.html 关于spring 中的portlet MVC 的使用,可以参考这个: http://www.redsaga.com/spring_ref/2.0/html/portlet.html 好,那么先来看看 web.xml . <context-param> <param-name>context ...
首先还是来看看 web.xml. <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext-jdbc.xml</param-value> </context-param> 这个和我们之前看得例子不同,这里制定了spring 的配置文件的名称,就是 applicationContext-jdbc.xml。 如果不指定的话,默认就是 applicationCon ...
通过对 spring 2.0 sample 的简解,也是学习spring 2.0 的一种方式
  • 13:10
  • 浏览 (436)
  • 评论 (0)
首先还是先看看 web.xml. <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/dataAccessContext-local.xml /WEB-INF/applicationContext.xml </param-value> <!-- <param-value> /WEB-INF/dataAccessContext-jta.xml /WEB-INF/applicati ...
阅读spring 的代码首先从配置文件看起,首先看看 web.xml. xml 代码   <context-param>       <param-name>contextConfigLocationparam-name>       <param-value>         &nb ...
首先当然是从配置文件入手。先看看 web.xml. java 代码 xml 代码 <listener>       <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>   listener>   这句的作用是初始化 applicationContext, 默认使用的配置文件就是 ...
    开发阶段恐怕是整个阶段的最关键的阶段了。     开发阶段的细节决定了成败,如果这个阶段的细节不能很好的控制,那么就等着项目后期的rework吧! 这个阶段,不管出于什么理由,都会提倡使用测试驱动开发。     测试驱动开发如何去控制细节? 下面举一个简单的例子。     需求:用户登录页面。     在开始编写代码之前,我们先来写测试。那么该写什么样的测试呢?该写多少测试呢? 总之一句话:把你的需求用测试描述出来就可以了。 ...
yananay
搜索本博客
我的相册
D35bafa8-5bf0-475f-aa06-16f3080557a1-thumb
tdd
共 3 张
存档
最新评论