VO我更习惯叫DTO,在你的第3种情况下,也就是一个DTO从表现层到持久层一捅到底,这样的方式正是很多人批判过的了。让DAO不是依赖于领域模型,而是多变的DTO对象。至于查询条件,本应该在service层构造。属性对拷有更强大的dozer。
其实我更喜欢springside直接让manager继承dao的做法
re: 这次做portal的一些总结(一) dennis 2006-11-28 18:45
我们公司最近也做了IBM的portal ,可惜我没参与,期待您的文章
re: 自己做的多功能计算器,嘿嘿 dennis 2006-11-25 12:39
界面很好看,写的不错
re: UNICODE的一点理解 Dennis 2006-11-14 12:33
Unicode 3.0 版本, 實際上只需要 21 bits 就能表達所有字
即使用 UTF-32 時, 也只會用去其中 21 bits
http://www.unicode.org/faq/utf_bom.html
re: 中国开源众生相-也谈“中国人的开源” dennis 2006-11-01 19:42
有勇气坚持下去就好
辱骂不是战斗,恐吓不是战斗,侮辱谩骂不应该出现在一个技术型blog群上
国内java开源项目我所知道比较棒的:
huihoo的几个项目
buffalo
springside
对easyjf的项目不大了解,不敢妄言
re: Struts 2.0的Action讲解 dennis 2006-11-01 19:30
这个系列文章很棒,LZ的资料来源?
我看struts的文档除了少数几篇之外,都是写webwork2的
re: jsp生成html文件 Dennis 2006-10-16 10:54
楼主,你好。我最近想做一个这方面的例题,
我想问一下如果把JSP生成HTML的时候,可不可以不采用模板的形式,另外如果是用模板的形式,在生成文件以后,如果每个文件都保存下来,那如果访问的人多了,会不会造成很多的文件,占用太多的硬盘空间。
我希望能得到你的一个完整的例题的代码,我的E-MAIL:ynzzh2006@126.com
期待你的来信。谢谢
re: 请公平些看待OSGi dennis 2006-09-21 14:22
Bundle这个词,我建议还是直接用英文,不翻译的好.JAVA开发人员关注OSGI把他当成一个新的如spring,webwork之类框架来看,当然会很失望.我在读opendoc时还是小小激动了一把,模块化和动态管理的设计思想很有趣.现在工作中没做这方面的开发,一直跟踪关注.
re: 为Apusic的JSF开源喝彩! dennis 2006-09-12 00:24
那你更应该去看看dojo或者qooxdoo
re: 为什么学习OSGi dennis 2006-09-09 03:35
HI,老大,TSS上一则新闻不知道您注意到没
EasyBeans, the Objectweb EJB3 container takes benefit of OSGi
This is the first EJB 3.0 Container implementation completely available as standard OSGi bundles.
地址
http://www.theserverside.com/news/thread.tss?m=c.reply&thread_id=42120#217550
re: 给编程狂热者的ant task笔记 dennis 2006-09-07 12:50
感谢分享,收藏了,没有Trackback,已注明转自这里
re: Spring与EJB 3对比读后感 dennis 2006-09-04 22:01
也看了那个帖子,记的有个回复说怎么拿spring与ejb3共有的特性进行比较,为何不比较下AOP与IOC?也许标题改成hibernate与JPA的比较更好.
对newfashion版非常期待,特别是想看看如何整合spring2.0和JPA
re: 从Domain开始看Springside dennis 2006-08-30 13:52
感兴趣的是drools规则引擎的使用,一直对这东西的性能上有顾虑,不然实在是个很有趣的工具
re: 为什么学习OSGi dennis 2006-08-30 08:43
通过LZ的文档开始对OSGI初步了解,关注您的blog
re: 数据结构系列教程(一) dennis 2006-08-18 09:59
不错的文章,顶一把
写的不错,收藏了,呵呵,我也是刚毕业一年了,祝你工作顺利
re: 80前的前辈,你们都做了些什么?! dennis 2006-05-30 15:33
不愧是大侠,理论水平都上升到哲学家的水平了,讲话还是比较切中要害的,中庸在之为和,走极端也不是不可以,天天看到大侠熬到后半夜,这是不是走极端呢,重要的是一段时间内要做到“和“,任何固体看起来像是固定形态的,但是其中还是有布朗运动。很多时候,批判不是件好事,任何人都是站在自己的角度看待问题的,这是人的特点,王唯的书不多看,看多了自己脾气也暴躁,有意思么?还是该干啥干啥吧,骂架的一公里内都能发生好几起,何必花钱买架看呢。对于世俗的80男女,我就不说了,他们的社会责任找保姆去。说回本行吧,对于中国的程序员,特别是80后的,我的确有小的腹绯,今天同学还问我,那些开元的软件测试工具怎么全都是国外的,没有中文的么?我一脸苦笑的说:国内的开源事业发展比较慢。真的觉得难过!!作为个人,我使用着开源软件,有的时候还是很羞耻的,自己的项目使用别人的开源完成了,感觉有点像剽窃,当然,竖业有专攻,该使用别人的成果就得使用,没什么丢脸的。也许我这人面子薄,用了别人的东西,就想回报,所以自己也参加了开源项目,不说回报社会,至少无愧于心。前几天,看了一篇一个老程序员讲述他的10年经历,满腹辛酸,我的感觉是我也可能遇到和他同样艰辛的经历。所以80前,80后,有什么可以争的,时代不同了,遇到的困难也就不同了,评价会和不会的标准也不同了。不论怎么样,超越是必然的,检讨,反思是要做的,然后检点点儿,最后少说多做。由哪个精力,多做几项开源,多开几家“百度”,那时谁敢说三道四的!
re: 开源的世界很精彩 dennis 2006-05-25 08:22
jdon??那个自称世界第一流的框架,那个自称民族软件的骄傲云云。。
你的宣传手法确实有点像传销,呵呵,有做销售的天分(不是贬义,别误会)
不支持GBK??目前没中文版吧,我下了,编译运行成功
re: 今天去yahoo面试,被鄙视了. dennis 2006-05-14 20:30
非常有同感,是的,我也可以说我能写出一些很漂亮的应用,可我离不开google,离不开过去积累的代码,我没办法独立地写出一个有价值的东西.我发现自己对于一些算法,数据结构的概念仅仅停留在使用阶段,我并没办法区分为何要这样用?为何要那样用?所以,最近重新开始拿起数据结构算法方面的书开始看,准备考个高程,知道没什么用,但逼迫自己去学,去看一些基础的.
re: JDBC4.0 简介 dennis 2006-05-12 08:21
看起来蛮酷的,感觉怎么跟hibernate的Query很像.
re: 照虎画猫用三个星期写了个blog程序 dennis 2006-05-10 11:50
不错了,基本功能都全了
提供源码看看?学习用,主要想看看AJAX的使用
killme6115@126.com,谢谢
StringBuilder在多线程环境下是不安全的,需要同步的话就应该采用StringBuffer,这点LZ已经提到,受教,我对JDK5的了解和使用太少了。
1.6走向末年了吗?并不觉的,1。6的改动也是相当大,我相信JAVA前景还是不错的。
re: VO(DTO)与PO(DAO)之间的转换 dennis 2006-04-29 12:53
试试dozer吧,更为强大
liferay 我最近才用過
它只是看起來好而已
內裏的問題很多, 和 source code 也極亂.....
除此之外最大問題是說明文件不足, i18n 不良....
PS.
layout-templates 不是整頁的 template, 只是 portlet aggregate 用的
look and feel 也不是 template, 只是類似 windows 的 theme 而已
而且很難寫
liferay 這玩意
"用" 是可以, 但只限它完成度比較高的剖份
"寫"........準備惡夢吧.......
我看要等它一兩年, 大約 4.5 版就差不多可以用了
5.5.9 用的是 Eclipse JDT 3.0 的 compiler
5.5.10 才轉用 Eclipse JDT 3.1 的 compiler
期待中,更谢谢你.
我以前是用 MySQL 的, 现在工作中用 Oracle . MySQL 是个人的爱好.
Did you know Eclipse load images into ImageRegistry in lazy mode??
沒錯, 它是不支持的
比較安全而有效的做法是, 在 Class 以外建立 array
就像是 List.toArray 的做法一樣
re: Java5.0,越来越死板的java Dennis 2005-07-28 14:36
〉〉〉你怎麼不想想,如果有一個包叫com.package.A,還有一個類也叫com.package.A,怎麼辦,不用import static能區分嗎?光看到這我就看不下去了!
>理論上會有這種情況,雖然這麼做不規範
>我倒覺得sun應該在java規範裡限制包名和類名重複,
>而不是加static使語言更複雜!
理論上沒全沒有問題(現實更是不會發生)
而且 sun 都說了 package name 只用 lowercase
Class name 是 Capital letter
而且面對任何重復名字, 都是用 FullQualifiedName 來解決的吧~?
---------
還有 static import 的目的和意義不是這個
而是當一個 project 內有大量 Constant 時, 很多 programmer 都會應用 Interface 來放置 static final constant(int, String 之類的, 在 javac 的過程中會被 optimize/inline 了的基本型態)
而在應用它們的 class 中, 以 implements 來簡化原碼中的寫法
(Constant.XXX 能寫成 XXX)
但這樣做, 就強迫了 Class implements 了一個空白的 interface
static import 是為了 "簡化 constatnt 寫法" 和 "不必 implement 某個 interface" 而設的
re: Java5.0,越来越死板的java Dennis 2005-07-28 10:38
泛型 有兩個目的
1. 加強可讀性
2. Compile time class casting checking
-------
例如說, 你在某個 javabean 中找到了一個 List getList()/setList(List list) 的 method
但你不知道它內裏是甚麼, 你一定要看 document(如果有的話) 或大量 runtime checking
應用了泛型之後
List<? extends Number> getList()
void setList(List<? extends Number>)
你只要看 API 就知道它只可能是甚麼和接受甚麼
防止了不自覺的把 String 放入去, compile 時就會阻止你這樣做
一個 program 中, 有過半數的 bug 是因為 programmer 大意而引起的
而一個 software 開發的成本中, debugging 和 runtime testing 是最花時間, 最貴的
在 1.5 以前, 要做到這一點, 大多都是自行重寫 List 或 Map 的一個 class
把 ""Object"" 都去掉, 改為指定的 class
-----
腳本語言中容易出錯的地方
MyObject b=new MyObject();
String str=b;
// 你是想 ((String) b) 為 str, 還是想得到 b.toString()
// 甚至 MyObject 根本不能轉為 String 或 toString,
// 原來是想 str=c; (另一個 String variable) 的
script 和 non-script 是各自有自己的生存空間, 目的, 和意義
不會有誰比誰更好
-----
>>map裡面放值可以進一步控制類型,比如什麼key只能放什麼類型的value.
泛型不是已經能實現了嗎!?
----
另外
泛型"""不只是為了 Collection framework 而生的"""
它能在List,Set 以外的地方應用
例如流行的 hibernate
MYClass obj=(MYClass)session.get(MYClass.class,"myid");
應用泛型後
MYClass obj=session.get(MYClass.class,"myid");
re: 服务器恢复正常运行 Dennis 2005-06-01 11:50
csdn 又是這樣
blogjava 又是這樣
這是 .NET 的 blog 引起的問題嗎!?
還是硬件的問題?
是 JMS 不是 JSM 啦....
IBM 寫錯了, 你也沒有必要跟著錯吧!?
雖然老實說... struts tag 的設計真的很差...
其實要應用類似 jsp:forward 的 jsp:param
加上 html:linkParam 才對
但, 以你這個例子, 肯定是用 html:link 會比較好
1. foo.do 是一個 struts action, 而它的 path 和 .do 是可能轉換的
2.事實上, 可應用 EL 是可以完全替代 bean:write 的
寫一個 EL function 來作 escape 會比較簡單
也不必改動 struts 的 source code
或根本放在 bean 中的 properties 就已經是 escape 了的 string
3. 不滿意 struts 的 taglib, 可以轉用其他(e.g. jstl)
或 extends 它, 甚至自行寫一套也可以...
以 patch 的想法, 改動小許 source 的做法, 會引起相容性問題.
例如 copy bean.tld 為 mybean.tld
也 extends org.apache.struts.taglib.bean.WriteTag
如果是以支持非 ascii charset 的 *.properties 为前提
我会选择找出它读取 properties/ResourceBundle 档的部份, 加以修改
而不是找出它显示的部份修改
會嗎!?
我只是把 zip 檔以一般 resource (e.g. *.properties, *.png) 的方式來做吧~?
只是檔案會比較大吧!?
(上面打錯了 path, jar 內的是 zip 才對)
有更簡單的方法
不是把 zip 取為 jar, 而是把 zip 放到 jar 內
把 themepack.zip 再在外打包成一個只有一個檔案的 jar
(放在主要程式的 jar 內也可, 但獨立放置更方便更新)
例如
themepack.jar
\resource\themepack.zip
或
themepack.jar
\themepack.zip
把 jar 放入 classpath (加到 webstart 的 jnlp 也可以)
再使用 ClassLoader.getResourceStream("themepack.jar")
或 ClassLoader.getResourceStream("/resource/themepack.jar")
(跟據 themepack.jar 的內部路徑而定)
你这样是会大量重复运行
new String(msg.getBytes("iso-8859-1"))
我不知道你有没有了解那一句到底是在在甚么(详细可以找 src.zip 或 sun 官网)
但那是相当的浪费 cpu power, 也有机会读错字的
其实只要有一个比较好的 IDE 或 editor 去修改 *.properties
就无需手动执行 native2ascii