JiveJdon Community Forums
在线200人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 开源JdonFramework及其应用案例论坛
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 24 回复 / 2 页 [ 1 2 下一页 ]  发表新帖子  回复该主题贴
banq

发表文章: 8914
注册时间: 2002年08月03日 17:08
JdonFramework 5.1发布 发表: 2007年09月15日 09:30 回复
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

发表文章: 3
注册时间: 2007年08月23日 09:52
re:JdonFramework 5.1发布 发表: 2007年09月15日 10:58 回复
Mark下,呵呵,支持Jdon
[该贴被davma于2007年09月15日 10:59修改过]
hellohong

发表文章: 24
注册时间: 2007年03月31日 22:49
re:JdonFramework 5.1发布 发表: 2007年09月15日 13:20 回复
支持banq,有机会的话学习一下.
demoz

发表文章: 6
注册时间: 2007年09月05日 00:53
re:JdonFramework 5.1发布 发表: 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

发表文章: 8914
注册时间: 2002年08月03日 17:08
回复:re:JdonFramework 5.1发布 发表: 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
bsglz

发表文章: 13
注册时间: 2007年08月27日 17:01
re:JdonFramework 5.1发布 发表: 2007年09月18日 09:42 回复
支持下banq~
banq

发表文章: 8914
注册时间: 2002年08月03日 17:08
回复:JdonFramework 5.1发布 发表: 2007年09月18日 16:20 回复
关于缓存方面性能方面的拓展,除了使用分布式缓存JBoss cache以外,还有开源Terracotta,当Hibernate使用EHCache作为二级缓存,Terracotta会集群EHCache到多台服务器上。

Terracotta可以在Hibernate Session关闭情况下,在多台服务器内存中保存POJO,也就是Domain Model。

在Jdon+Hibernate架构中,Jdon缓存已经实现在Hibernate控制外部保存POJO(也就是Session关闭情况下),Jdon框架也可以使用EHCache替代原来缓存,从而借助Terracotta实现集群分布式缓存,提高计算性能。

http://www.terracotta.org/confluence/display/orgsite/Hibernate
[该贴被banq于2007年09月18日 16:22修改过]
chenp219

发表文章: 5
注册时间: 2007年09月30日 14:03
回复:JdonFramework 5.1发布 发表: 2007年09月18日 17:09 回复
我也很想支持 。可是不对jdk5以下版本兼容,将注定英雄仗剑独走天涯。我看了jdonframework的源代码,尝试改造的,但是发现工作量不小,似乎要重做。难道是java本身束缚了J道?
demoz

发表文章: 6
注册时间: 2007年09月05日 00:53
回复:回复:JdonFramework 5.1发布 发表: 2007年09月18日 21:12 回复
对了,我现在的系统装的java版本是1.4的,那是不是意味着没办法用jf5.1了,jf现在必须要5以上么?如果这样,那我就去重装java了
还有请教下,是不是jf5.1现在无法和最新的无dao的ibatis2.3集成?或者这样问:jf5.1+ibatis2.3可以很好的集成吗?
另外:究竟ibatis集成了dao的和未集成dao的有什么区别,如果没有集成dao也可以用,那么原来集成dao究竟有什么意义?现在将dao交给Spring来管理与自己管理有那些区别?
[该贴被demoz于2007年09月18日 23:39修改过]
banq

发表文章: 8914
注册时间: 2002年08月03日 17:08
回复:回复:回复:JdonFramework 5.1发布 发表: 2007年09月19日 10:10 回复
>究竟ibatis集成了dao的和未集成dao的有什么区别,如果没有集成dao也可以用,>>那么原来集成dao究竟有什么意义
我已经说了,DAO是一个很虚的概念,持久层框架本身就是DAO,作为数据库操作iBatis如果没有DAO实在功能,能是持久层框架?

至于IBatis宣传那么烟雾弹你怎么会给绕进去呢(那些都是技术之外的政治意图,向Spring示好,表示自己是融入主流等等)?所以,学习技术之前,学习本质和思想很重要,关于DAO如果还想讨论请另外开帖,不在此讨论。

demoz

发表文章: 6
注册时间: 2007年09月05日 00:53
回复:回复:回复:回复:JdonFramework 5.1发布 发表: 2007年09月19日 13:33 回复
谢谢banq指导,经过google、baidu和您的点拨,对dao有了初步认识,谢谢
hjysuccess

发表文章: 13
注册时间: 2007年09月19日 14:51
re:JdonFramework 5.1发布 发表: 2007年09月19日 14:56 回复
banq大哥,我一直在关注这个网站,我今天才注册,一直默默的学习着,学到了不少东西,我工作才一年,无论是理论还是实践都不成熟,目前还是不断学习中,希望以后各位大虾多多指教。
qq3951819

发表文章: 18
注册时间: 2006年09月13日 00:00
Hibernate为什么不支持J2SDK1.4 发表: 2007年10月01日 10:57 回复
Hibernate为什么不支持J2SDK1.4?
J2SDK1.4可以使用Hibernate吗?
JdonFramework5.1为什么不能用CRUD简化流程,不能兼容吗?
qq3951819

发表文章: 18
注册时间: 2006年09月13日 00:00
hibernateTemplate 如何使用才能查询有参数的sql 语句 发表: 2007年10月01日 21:46 回复
hibernateTemplate 如何使用才能查询有参数的sql 语句
banq

发表文章: 8914
注册时间: 2002年08月03日 17:08
回复:Hibernate为什么不支持J2SDK1.4 发表: 2007年10月02日 10:02 回复
Hibernate低版本支持1.4, Hibernate是一个围绕对象为核心的框架,因此,不推荐使用Hibernate查询有参数的sql 语句,在Hibernate使用中,没有SQL的影子,只有对象,这是一种全新的方式,对于熟悉SQL的程序是一个打击和革命,因此Hibernate需要重新好好学习。当然这是另外话题,不要在这个帖子讨论Hibernate力偶。

现在有不少搞PHP的人对Ruby on Rails中的Active record(也是一种O/R mapping框架)大惊小怪,实际上,Java世界N多年前o/R mapping框架就出来,EJB2的实体Bean CMP已经具备o/R 雏形。很多语言总是跟着Java出现类似思想的产品,这已经是一个不争的事实。

有好事者可以将上面Struts+jdon+jpa/hibernate这个案例和RoR同样的四个关联业务模型下代码开发量比较一下(包括CRUD和自动分页功能),我敢说,没有什么区别,同样少而快速,但SJH的Java架构相比ROR优点是:
1. 无论PHP或ROR,说到底还是脱离不了数据库这个母脐,依赖数据库;而JavaEE本身作为一个厚实的中间件,已经摆脱了数据库依赖,Java通过JTA和cache将数据库降为操作系统级别的技术,JavaEE通过缓存或分布式缓存获取几十倍的性能,而ROR至今还在为正常的性能指标而苦恼。

2.Java这个架构是完全分层的,拥有无比健壮的鲁壮性,通过反射拥有动态语言的特性,又具备静态语言的优点;而ROR这样动态语言,如果在项目管理中不狠抓单元测试,那么代码拿到客户现场就无法运行的可能性很大,但是,Java中单元测试属于锦上添花,试想:将软件生命寄托于项目管理,这不是又回到10年前的环境?

3.拥有最好的可伸缩性:可以无缝过渡到EJB等分布式事务集群环境。组成一个大型系统。无需修改软件代码。JavaEE通过分布式事务和集群实现7x24小时不间断运行,就是数据库当机都不会对系统产生影响,因为大部分数据都被load到几百台中间服务器内存中了。
数据库时代的终结:
http://www.jdon.com/artichect/dbover.htm


[该贴被banq于2007年10月02日 10:23修改过]
[该贴被banq于2007年10月02日 10:23修改过]
这个主题有 24 回复 / 2 页 [ 1 2 下一页 ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam