spring 入门简介
获得网上的一些简单的介绍。[@more@]http://www-128.ibm.com/developerworks/cn/java/wa-spring1/#downloadhttp://wuchengbo.mentor100.com/2007/11/27/附上几个关键图吧:
spring-mock + dbutil 用来测试数据库操作
需要的jar 1.spring-mock.jar 2.dbunit-2.2.jar 3.junit.jar[@more@]大概流程: 1.用dbunit创建初始的测试数据。 2.用spring-mock 维护测试过程中的数据会滚,这样可以保证测试后数据库保持原状态。 3.用junit架构测试。 4.用dbunit销毁初始测试数据。 详细过程: 创建测试数据: dbunit采用配置文件方式,将测试数据放入.xml文件中,形式非常简单: <表名1 列名1 = 值1 列名2 = 值2 列名3 = 值3 列名4 = 值4 …… …… /> 程序将上面数据加载到数据库 import org.dbunit.IDatabaseTester; import org.
小结java与数据库
1.jdbc 2.spring + jdbc 链接池:spring 事务处理: 3.spring + hiberate 4.java + ladp [@more@]
lang.StringUtils
org.apache.commons.lang.StringUtils是操纵String类的实用类.[@more@]
详解java的Collection和Map
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。[@more@] 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection ├List │├LinkedList │├ArrayList │└Vector │ └
正则表达式(regex.*)
正则表达式通常以字符串的形式出现,它首先必须被编译为Pattern类的一个实例。 结果模型可以用来生成一个Matcher,它(生成的Macher实例)可以匹配根据 这个正则表达式生成的任意字符序列。在实现一个匹配器中的匹配时包括了 任意多的情况,并且多个匹配器可以共享同一个匹配模式。[@more@]导入类:java.unit.regex.*import java.util.regex.Matcher;import java.util.regex.Pattern;使用过程:Pattern p = Pattern.compile("a*z");Matcher m = p.matcher("aaaaaz");boolean b = m.matches();也可以:boolean b =
我工作的那点事--学习《设计模式》实例应用(Command模式)
好长时间没有学习设计模式了,主要是最近一直在忙德国的一个需求,现在终于可以休息下了,不过下周又要开始新的需求了。唉,不断的项目,不停的工作。 现在闲下来 回头看看设计模式,发现我们的工作模式,其实可以用Command的模式实现的,我们都是按boss的Command办事的,呵呵。 [@more@]1.下面先讲讲我们的工作模式吧:首先,德国那边boss提出要求,然后发给德国的经理,经理按照boss的意思,形成具体的需求样式,然后将这些样式发给我们,我们按照需求完成任务。 Boss---------->manager-------àdeveloper
对以前项目的重构
今天对以前做的项目,进行了修改1.增加factory模式2.运用command模式3.运用adapter模式感觉很爽。[@more@]今天将以前项目的数据库接口进行修改,将以前的接口改为abstract 学会了在spring中配置有继承关系的bean.
Junit4 快速入门
Junit 概念,原理这里就不说了,有兴趣的朋友可以查阅相关资料,这篇文章主要是为了快速给大家介绍一下junit4的使用 以及与 junit3的区别,这里默认大家对junit3已经有些理解了。[@more@]下面就开始吧:1.先写个简单的被测试类:package test.junit;public class BaseClass {public String method() {return this.getClass().getName();} }2.对于这个类的unit测试,我们先看看在junit3中怎么进行测试的吧:package test.junit;import junit.framework.TestCase;//引入TestCase类public class BaseClassTest extends TestCase {//类必须继承T
junit 4
New junit4 is released.(http://www.instrumentalservices.com/index.php?option=com_content&task=view&id=45&Itemid=52) No need to extend TeseCase, no need to name the method beginning with 'test' anymore:) [@more@]
我工作的那点事--学习《设计模式》实例应用(decorator模式)
今天是我们公司写周报的日子,又要回顾一下一周的工作、学习任务了,感觉这周没有做什么事情,项目刚结束,只有看看书了。 上午刚好看到Decorator这个模式,为了增强学习,就将周报这个实例和它强行绑在一起了,呵呵。[@more@] 这里还是简单的介绍一下Decorator模式吧: 定义: 在不改变原来对象的结构基础上,动态给一个对象添加一些额外的职责.如果使用子类继承的话,对于每个类的改变都要产生新类,增加了开销。现在这些功能需要由用户动态决定加入的方式和时机. 下面用实例说明一下:
利用spring-mail 写的超级smart-mail发送器
[@more@]应用spring: import org.springframework.mail.MailException; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; lib: javamail-1.4.1:mail.jar jaf-1.1:activation.jar import org.springframework.mail.MailException; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; public class SenderManagerImpl implements SenderManager { private MailSender mailSender; private SimpleMailMessage me
我工作的那点事--学习《设计模式》实例应用(composite模式)
早上一到公司就看到德国那边的新需求,唉,没办法我们睡觉做着美梦的时候,那边正在想着让我们怎么工作充实呢。别人安排完了睡觉,我们醒来就要完成别人想的,没有办法,工作嘛,就这样了……[@more@]德国那边通常会把一个项目给我们中国这边的一个经理,然后经理安排developers开发各自的模块,然后最后自己组装各个模块,形成产品。德国那边不管我们怎么分工的,最后他们只要成品的。 这种工作模式 其实有点像builder的,各个模块分开,最后组装。不过今天这里我想用下composite模式。 1.组件:Component 一个工作组 public abstrac
我工作的那点事--学习《设计模式》实例应用(Observer模式)
今天早上一到公司,看到公司人事群发过来的邮件,通知下午开会,现在人事也比较方便的,利用现代科技,不用一个个当面通知了,记得以前小时候上学当大队长那会,假如有什么活动,还写在小黑板上呢,有时候还要一个个当面通知,非常麻烦的,大人们都担心耽误我的学习,不让参加这些活动,赫赫,现在看来完全没有这个必要的。 这段时间学习设计模式,这个方式一下子让我想起了 Observer 模式,这个模式太明显了,说白了,就是一个人有什么变化消息,自动通知其他人。[@more@]从这个例子中,可以看出 人事就是 Observable,同事就是各个Ob
我工作的那点事--学习《设计模式》实例应用(Adapter模式)
一想到这个模式,我就想到一个谚语“挂羊头卖狗肉”,哈哈,虽然比较难听,感觉还是比较准确的表达这个意思的。[@more@]Adapter模式:Adaptee(被适配者),Adaptor(适配器)和Adapter(组装前两者). 当需要将两者结合,但是又不能改变这两者时,要用到这种模式。 还是用刚才的那个谚语作解释吧,比较形象点: 羊头:Adaptee 狗肉:Adaptor 卖者:Adapter 呵呵,下面的例子相关信息和这个谚语没有必然的联系。 其实很多时候,原来的信息在传播过程中被适配了,当你得到信息时,还以为是原来的信息。
我工作的那点事--学习《设计模式》实例应用(Facade模式)
想想这个合同肯定也是个模板,公司不可能和每个人都详细谈各项,然后慢慢理列各项条例,这个也不现实,所以采用模板的形式。也就是我们设计模式里的Facade。[@more@] 昨天和公司签合同,一沓厚厚的文件,各种条例,感觉自己被束缚了,其中当然有不少对自己不利的了,但是没有办法,谁叫自己是弱势群体呢。 厚厚的文件要自己写的地方 只有三处,自己的名字,合同期,还有就是工资了,其他地方都是复印的了。 想想这个合同肯定也是个模板,公司不可能和每个人都详细谈各项,然后慢慢理列各项条例,这个也不现实,所以采用模板的形式。也就
我工作的那点事--学习《设计模式》实例应用(Singleton模式)
公司为了节约资源,对于打印机用了Singleton模式,反正所有的文件打印只能在一台机器上。[@more@]今天早上开会,要打印一堆文件(先打印出来 然后再复印(Memento)),整个公司就一个打印机,由于前面有位同事也在打印东西,没有办法只好等他用完了,心里那个急啊,公司怎么不多配几台打印机呢? 公司为了节约资源,对于打印机用了Singleton模式,反正所有的文件打印只能在一台机器上。 对于Singleton的定义如下: 主要为了在整个java工程调用中只用到一个实例,这样节约了内存的消耗(只有一台打印机),如果同时使
我工作的那点事--学习《设计模式》实例应用(Builder模式)
今天无意中在抽屉里发现以前的工资条,看见上面的各项:基本工资,车贴,饭贴,交通费,养老保险,医疗保险,失业保险,住房公积金,个税,等等……。突然想到 Builder这个模式[@more@]Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们. 今天无意中在抽屉里发现以前的工资条,看见上面的各项:基本工资,车贴,饭贴,交通费,养老保险,医疗保险,失业保险,住房公积金,个税,等等……。
我工作的那点事--学习《设计模式》实例应用(Prototype模式)
这个模式比较好理解,应用也比较广泛的,说白了就是将别的东西copy一份过来,以后在复件上的修改和原件没有什么关系。[@more@]jdon对Prototype的定义是这样的: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 我就不加多解释了,举个工作中的例子吧,这样比较形象 也容易理解: 要开会了,肯定有些比较
我工作的那点事--学习《设计模式》实例应用(factory模式)
[@more@]最近公司效率不好,不断地裁员,自己也感到有压力,要为以后做准备了,开始慢慢找工作了,于是准备简历了。 1.Person 个人信息类: public class Person{ private String name; private String sex; private int workTime; private String companyName; private String address; private String proxExperience; ……………… public Person(){ } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setSex(String sex){ this.sex = sex; }