`
tiandirensoon
  • 浏览: 598215 次
文章分类
社区版块
存档分类
最新评论
文章列表
JDBC有够慢的,出到了3.0了才有个Rowset能类似于windows下ADO的概念,却还是达不到ADO.net的水平。幸亏Java里ORM这块比较争气,趁着C#的ObjectSpace跳票,可以继续耀武扬威。 Rowset对比于ResultSet,除了不用保持Connecton外,更重要特点是能够类似于ADO的编程方式,直接对Row赋值来进行Insert与Update, 而不用写SQL语句。 在windows编程中经常可见这种模式,特别是ADO.net用的好时,ORM也只能算是锦上添花.... 在oracle的sample代码中,rowset02.java完整demo了RowSet的A ...
团队升级一次不容易,总要找到足够的理由或者借口:查询语法的全面增强;真正彻底的OR映射;性能的提升是三个的主要理由。另外,买一送一的,还有四个暂时不是理由的理由。 查询语法全面增强HQL,Native SQL ,Criteria都有大幅增强,不再有太多无法完成需要sql辅助的地方1.HQL语法增强 使用Antlr的作为语法引擎 支持subquery,distinct, nullif,case ,cast,having count(*)在内的绝大部分SQL语法 支持Bulk-Update,Bulk-Delete 语法 "update Customer set name = :newNa ...
Spring 1.2不多的几样更新之一就是对JMX的支持。 通过简单的XML配置文件,把POJO山鸡变凤凰Export成MBean,使客户可以通过JMX Client调用POJO的方法,查看POJO的属性和状态。 这种集成方式与Spring对Quartz的集成一样,透明、简单,很值得在Framework界提倡。 例子在Spring自带的samples/petlinc里面,很简单。详细文档看Spring refrence文档的第18章。 比如有一个叫MyJob的POJO,我希望输出excute()和getCallCount()函数为JMX管理: 1.ApplicationContext.xml ...
作者:江南白衣 注重实效的TDD的确能加快,而不是拖慢开发的进度(片面的追求覆盖率的全面UnitTest不在此列) 一,可以实现真正分层开发。 二,不需要依赖和频繁重启Web Container。 三,手工测试总不免改动数据库,如何把数 ...
随着Eclipse的发展,很多Java项目都将告别无界面、靠ant打天下的局面,开始拥有自己美观易用的界面。(当然,轻便通用的ant还是应该支持。)我觉得最典型的就是AndroMDA了,全靠build.xml和一堆配置文件生成那么多东西,多累啊。 没写过Eclipse插件也没写过SWT应用,趁这机会小试了一把。我的代码生成插件的需求是: 1.插件读取存放元数据的model.xml文件,生成一个ListView 2.用户从ListView中选择要生成代码的Domain Object,插件弹出一个生成选项的对话框 3.用户在对话框中输入生成选项后,插件进行代码生成。 这个插件很简单,几乎不用啃 ...
2005年,Web Site和Rss铺天盖地,果断放弃一些质量不高的blog和website,合理安排阅读的时间间隔,才可使效率达到最大化。 每天的RSS 1.WebSite国外: TheServerSide.com, Aritma Java News,OnJava.com,JavaWord,IBM Developerworks,Spring Framework国内:Java视线,BlogJav首页,CSDN首页,BJUG MailList3.个人Blog 国内:透明、庄表伟、DreamHead、Canonical、Michael Chen、Kukoo、Xiecc太多了,不能尽列 ...
写完代码生成的框架,少不了需要ant来调用。写完之后值得一记的东西有三: 一、《Ant--The Definitive Guide 2nd》是本不错的cookbook 二、与用户进行交互式输入而不是逼着用户改build.xml 下面的代码运行时,ant会提问"What is the name of your POJO?",让用户输入属性PojoName的值。 <input message="What is the name of your POJO (i.e. Person)?" addproperty="PojoName"/& ...
update at 2005.7.28 upgrade 更新 Java直接调用的方式 and JSR-2 前篇:轻量级的代码生成方案选择 0.Groovy Template概述 Groovy Template其实就是JSP的Groovy简化版,而且有XPath这样的内置xml简化语法,并且不依赖于JSP容器,可由Java或Groovy直接调用。 TemplateEngine的实现代码只有219行,在src/groovy/test/SimpleTemplateEngine.java 因为JSR-2的多行String 改用""" """ ...
作者:江南白衣1.Groovy的最新八卦之处1.1 Wiki: http://docs.codehaus.org/pages/listpages.action?key=GROOVY 1.2 Mail list的在线浏览和rss定阅 Developer List http://dir.gmane.org/gmane.comp.lang.groovy.devel User List: http://dir.gmane.org/gmane.comp.lang.groovy.user 2.Groovy的开发现状和未来 编译期健壮性大大增强的1.0 JSR-2,全力除Bug的1.0 JSR-3,JSR ...
作者:江南白衣以Spring为代表的提供依赖注入的IOC Container风头越盛,比起IOC的原本意义,DI逐渐有妹仔大过主人婆的姿势,所以Martin Fowler同学忍不住写了篇blog,提醒一下大家IOC的本原--一种作为"所有Framework与API Library最根本的区别点"的Design Principle。 当年侯捷同志是以VC下的MFC作例子,马同学与时俱进,换了Ruby、Junit、SWT来教育时下的新新人类。 IOC原理是老生常谈了,可以看马同学的blog。当应用复杂时,都应该考虑把封装从线性调用的API级,提升到奉行IOC的Framework ...
作者:江南白衣 前篇:〈在Spring+Hibernate框架下,用动态语言写业务类〉讲述在Spring+Hibernate的架构下,因为动态语言所带来的利益,把一部分业务类改用Groovy编写并编译成Java Class文件。 而且,因为Groovy的强大与简便,加上与Java亲密无间的关系,一些框架类也可以逐渐考虑用Groovy编写。 1.虽然多是星零的好处,但忽然间一整吨好处摆在面前还是很让人感动的。 除了动态语言和闭包、MOP,Groovy其他的特性多是对J2SE中设计不合理的地方逐一进行修正,集合、IO、字符串操作......虽然多是星零的好处,但忽然间以整吨好处摆在面前还是挺 ...
如果你把这本书当作《敏捷软件开发》这样的普适的软工书来读,希望从里面找到一些对日常项目有裨益的提议,就不会有什么收获。 因为这本书只教人如何采取保守主义,实用主义的策略,"挺过死亡之旅式的项目而没有损伤"。 这是个有趣的话题。 因为死亡之旅式的项目一般比较难看,所以很少书籍会从这里面去总结"最佳实践"。大家更愿意在正常项目的基础上展开论述,通过"最佳实践"指导大家避免跌入死亡之旅的尴尬田地。 可惜,死亡之旅式的项目依然充满我们周围,而每一个被挺过去的死亡之旅项目,都只作为经验存留于参加人员的记忆里。所以这本书会提醒你,总结正常项目 ...
JetBrains的MPS出来了,Martin Fowler也大力捣鼓出一篇《Language Workbenches: The Killer-App for Domain Specific Languages?》,成为有志于LOP、DSL领域的总领性文章。 首先,了解Martin Fowler的立场很重要。但似乎为了保证阅读率,MF把立场摆到了最后。 1. LOP带来的两个最大优点是 a. 通过新的封装及思维模式,提高程序员的生产率。b. 改变程序员与领域专家的关系,最理想情况是领域专家直接用DSL编程。 MF认为第2点比第1点带来的效果大得多,但也困难得多。COBOL刚出来的时候已经 ...
作者:江南白衣ANTLR(ANother Tool for Language Recognition)风头正盛,经常可以看到用它做语法解释器的项目,比如Hibernate就在3.0换上它来解释HQL,加强了HQL的语法。 因为Antlr是EBNF-AST语法解释系的代表,而自己总是心思思想搞一下DSL(领域语言),所以从Hibernate来学习一下Antlr的应用。 Hibernate HQL translator作者Joshua Davis的两个BlogHibernate3 Query Translator Design - Part One : The BasicsHibernate ...
作者:江南白衣序 以Ruby为助力的Ruby on Rails 横空出世,又刷新了一次人们对Framework的认识:Closures、Maxin、Continuations、Metaprogramming、Reflection,又一堆名词砸得人悴不及防。 Java 虽然没有动态语言般暴起,但仍然天连天,水接水的生出好多框架技术---反射(reflection),泛型(generics),元数据(annotation),proxies(proxy/cglib),代码动态生成(asm),AOP(aspectJ),动态语言嵌入(groovy/javascript/beanshell)。面对着这些,我 ...
Global site tag (gtag.js) - Google Analytics