JdonFramework 5.1发布

07-09-15 banq
JdonFramework 5.1主要变化是增加了Hibernate3支持,并且将原来一个jdonFramework.jar包分为三个包:jdonFramework.jar jdon-struts1x.jar和jdon-hibernst3x.jar

如果使用struts+jdon+Hibernate架构,这三个包需要完全使用。

如果只使用Jdon框架作为业务层框架,只需要jdonFramework.jar ,可以使用Jdon框架的IOC管理功能,不过Jdon框架提供的CRUD流程简化将无法实现。

JdonFramework 5.1重点是增加Hibernate3整合,特别是Hibernate3的懒加载支持,通过在web.xml配置CloseSessionInViewFilter,可以实现一个请求结束后再进行Session关闭,这样,Hibernate缺省的Lazy=true功能就可以正常使用。

懒加载功能可以大幅度提高Hibernate关联性能(前提是基于DDD分析设计),是Hibernate必须使用的功能,但是单纯使用Hibernate却无法激活懒加载,致使很多人关闭懒加载lazy="false"。

Spring也提供了Hibernate的OpenSessionInView功能,但是它是将Hibernate的Session再表现层打开和关闭,而JdonFramework 5.1只是检查是否打开的Session,如果有则关闭,这样缩短Session无谓开启时间,降低出错率,同时简化事务(Spring+Hibernate架构Spring事务缺省是read-only只读,只有配置显式create方法事务为非read-only后,才能使用Hibernate保存创建新资料,非常不方便);

Struts+Jdon+Hibernate(简称SJH)和Struts+Spring+Hibernate(简称SSH)最大的特点是:

1.SJH对Hibernate无侵略性,Hibernate全局配置还是在自己的hibernate.cfg.xml中配置,而不似SSH需要在Spring中配置。这样从设计上减少彼此依赖性,实现真正分层松耦合。jdon-hibernate3x.jar可以单独使用。

2.SJH以更少的代码快速实现增删改查和批量分页查询。

3.Jdon框架内置缓存+Hibernate二级缓存+懒加载最大化提高缓存使用效率,性能优异,有效实现数据库零访问和必要访问。

JdonFramework 5.1推出同时,也推出struts+jdon+Hibernate3的整合应用案例

http://www.jdon.com/jdonframework/download/samples_hibernate.zip

hibernate案例中是不用事先建立数据表的,而是在部署时自动建立,这也体现了OO系统的纯正性,将数据库打入软件的运行部署管理阶段,和系统管理在一起。

该案例领域模型图:

更多案例::http://www.jdon.com/jdonframework/app.htm

[该贴被banq于2007年09月16日 09:25修改过]

[该贴被banq于2007年09月20日 17:33修改过]

    

davma
2007-09-15 10:58
Mark下,呵呵,支持Jdon

[该贴被davma于2007年09月15日 10:59修改过]

hellohong
2007-09-15 13:20
支持banq,有机会的话学习一下.

demoz
2007-09-18 00:03
前几天刚在一个帖子中说要对jf进行分离,现在就看到了成品了,感谢板桥的作品,正在学习中。。。

------

再请教banq一个问题,现在的ibatis2.3中已经去除了dao,它推荐使用spring的dao实现,那么如果我用jf的话,jf自带了dao了么?

(因为正在学习其他的东西,对ibatis实现的那个例子还没看,不知道您的那个实现是用的ibatis自带的dao还是jf自带的dao)

[该贴被demoz于2007年09月18日 00:17修改过]

banq
2007-09-18 08:56
>现在的ibatis2.3中已经去除了dao,它推荐使用spring的dao实现

唉,本来我们使用框架的目的就是降低依赖,但是失去制衡的Spring已经形成垄断(这和当初它批判的EJB又有何区别呢?),其他框架反而依赖它,要时刻记住,java世界是一个组件世界,每个组件原本都是独立的,这是本质。

Jdon框架坚持尊重每个框架自己的独立性,Jdon框架本身也是可彻底拆分的,最后直至拆为无。

关于iBatis可以参考jdon框架的jPetstore。

关于DAO,我已经在另外一个帖子说了:DAO将被Repository替代,DAO本身概念就是数据概念,而不是对象概念,在程序架构中完全消灭数据概念是迟早的事情:

DAO和Repository有什么区别:

http://www.jdon.com/jivejdon/thread/32562.html

猜你喜欢
6Go 1 2 3 4 ... 6 下一页