了解下JAVA的Spring事件办理初级使用难点分析: 第2部分
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。团结兵种作战的凌乱
Spring笼统的DAO系统兼容多种数据会见手艺,它们各有特色,半斤八两。像Hibernate长短常优异的ORM完成计划,但对底层SQL的把持不太便利;而iBatis则经由过程模板化手艺让您便利地把持SQL,但没有Hibernate那样高的开辟效力;自由度最高确当然是间接利用SpringJDBC莫属了,可是它也是最底层的,天真的价值是代码的繁复。很难说哪一种数据会见手艺是最优异的,只要在某种特定的场景下,才干给出谜底。以是在一个使用中,常常接纳多个数据会见手艺:通常为两种,一种接纳ORM手艺框架,而另外一种接纳偏JDBC的底层手艺,二者珠联璧合,构成团结兵种,配合御敌。
可是,这类团结兵种怎样应对事件办理的成绩呢?我们晓得Spring为每种数据会见手艺供应了响应的事件管理器,岂非必要分离为它们设置对应的事件办理器吗?它们究竟是怎样合作,怎样事情的呢?这些层见叠出的成绩常常压抑了开辟职员利用团结兵种的设法。
实在,在这个成绩上,我们低估了Spring事件办理的才能。假如您接纳了一个高端ORM手艺(Hibernate,JPA,JDO),同时接纳一个JDBC手艺(SpringJDBC,iBatis),因为前者的会话(Session)是对后者毗连(Connection)的封装,Spring会“充足智能地”在统一个事件线程让前者的会话封装后者的毗连。以是,我们只需间接接纳前者的事件办理器就能够了。下表给出了夹杂数据会见手艺所对应的事件办理器:
表1.夹杂数据会见手艺的事件办理器
夹杂数据会见手艺事件办理器ORM技术框架JDBC手艺框架HibernateSpringJDBC或iBatisHibernateTransactionManagerJPASpringJDBC或iBatisJpaTransactionManagerJDOSpringJDBC或iBatisJdoTransactionManager因为一样平常不会呈现同时利用多个ORM框架的情形(如Hibernate+JPA),我们不拟对此命题睁开叙述,只重点研讨ORM框架+JDBC框架的情形。Hibernate+SpringJDBC多是被利用得最多的组合,上面我们经由过程实例察看事件办理的运作情形。
清单1.User.java:利用了注解声明的实体类
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
@Entity
@Table(name="T_USER")
public class User implements Serializable{
@Id
@Column(name = "USER_NAME")
private String userName;
private String password;
private int score;
@Column(name = "LAST_LOGON_TIME")
private long lastLogonTime = 0;
}
<p>
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。 是一种为Internet发展的计算机语言 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种语言,用以产生「小应用程序(Applet(s)) 是一种为 Internet发展的计算机语言 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 是一种使用者不需花费很多时间学习的语言 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
页:
[1]