动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Javascript实例教程(20) OLE Aut.
.野马的性格 Java SE 6.0新特性体.
.Apple 正式发布J2SE 5.
.理解JDIC中的文件类型关联.
.学习用于异常处理的terminate()函.
.创建并解析XML文件Java实例.
.如何在Java程序中运行外部类文件.
.编写自己的writeObject()和readO.
.Sun修正5个Java“高危”缺陷.
.Servlet是什么?.
.用Java开发企业级无线应用(1).
.org.eclipse.cdt-3.0.0-win32.x86.
.图解Java连接数据库内幕.
.Java手机软件图形界面API之慨述.
.int与byte array之间的转换程序.
.JAVA卡与APPLET.
.不再是苦差事 用Eclipse简化开发.
.深入探讨JavaMail API的使用.
.tomcat向weblogic移植的中文乱码.
.在咖啡里加糖 论Java世界的Ruby.

开源有益——爱上Spring的5个理由

发表日期:2008-1-5 |



  约摸15年前的6月的一个酷热的早上,我爬入一艘旧玻璃钢制小艇。这小艇十分老,船身碎片刺入我的手指,它的桨几乎是传统whitewate桨的两倍长。我似乎在游泳而不是在划船,但是无所谓。15年后,我依然为此着迷。
  
  约两年前,我试了试Spring Project,这个被Hibernate站点显著提到的东西。感觉就像那旧艇,十分适合我。为企业应用核心部分的发展,Spring深深地融入了我的编程当中,所以我将其作为我的第4本Java书 Spring:A Developer’s Notebook的主题。在这篇文章中我会告诉你原因。
  
  1.Spring提供更好的平衡
  
  在河中,我学会更多地利用我的腰部和背部的肌肉来划船,因为我的手臂肌肉无法坚持整天划船。我变得更有效率,更平衡地利用自己的肌肉。通过spring,我可以在每行代码中做更多的事。通过spring你会发现更多其优势,其中最重要的是在对象持久化上。这是一个来自hibernate访问数据对象的函数。
  
  public List getReservations( ) { return getHibernateTemplate( ).find("from Reservation");}
  
  注重那些你没看到的东西。这里没有任何事务处理。Spring答应你建立配置代码去处理它。你不一定要通过关闭session来治理资源。你不一定写你自己的配置。你不一定在这个层次上治理异常,因为这些异常是未经检查的。你可以自由地在最适当的位置去治理他们。没用spring的hibernate方法的代码会是这样的:
  
  public List getBikesOldWay( ) throws Exception { List bikes = null;
  Session s = null;
  try {  s = mySessionFactory.openSession( );
  bikes = s.find("from Bike");
  }catch (Exception ex) {  //handle exception gracefully }finally {  s.close( );
  } return bikes;}
  
  Spring给我更多优势,让我编程更快,更易维护程序。
  
  2.Spring支持POJO编程
  
  在EJB 2.x彻底失败之后,我们都在寻找更多方式避免在每个bean中加入粗笨的模型去表达企业服务。当然。我们需要事务,安全,持久化,有时还需要远程调用。用EJB时,我不得不去学庞大的API以及通过新的工具和部署过程来工作。结果我变成容器(container)提供的服务的奴隶。而在用Spring时,我可以选择我自己的服务和持久化框架。我在POJOs上编程并通过配置文件添加企业服务。
  
  在Sping:A Developer’s notebook这本书中,我建立了一个RentaBike的程序。我用我的POJOhibRentaBike取代了session bean 或者entity bean,它充当了我的数据访问对象。我还在别处添加了服务。Spring配置文件是一个XML文件,被称为上下文。它含有在容器中的所有bean以及这些bean的属性,还有这些bean需要的服务。让我们来看看下面的例子。
  
  Target:
  
  
  BrUCe's Bikes
  

  
  
  

  
  
  

  
  Interceptor:
    class="org.springframework.transaction.interceptor.TransactionInterceptor">
  
  
  

  
  
  com.springbook.RentABike.transferReservation=
  PROPAGATION_REQUIRED,-ReservationTransferException
  com.springbook.RentABike.save*=PROPAGATION_REQUIRED
  com.springbook.RentABike.*=PROPAGATION_REQUIRED,readOnly
  

  

  
  proxy:
     com.springbook.RentABike    transactionInterceptor,rentaBikeTarget 
  
  注重这3个不同的bean: The Proxy , The target, and The interceptors. The proxy将调用POJO,以及POJO需要的任何服务。Interceptors包含粘合各调用服务的代码,他们也说明了如何去对待The target中的每个方法。所有需要访问RantaBike的人调用The proxy,这个开始事务访问The target(The POJO)的事务拦截器。Thet target做自己的事返回给事务拦截器(提交事务的对象),返回到proxy和proxy的调用者。
  
上一篇:对Spring中接口注入的理解实例分析 人气:611
下一篇:Spring VS. HiveMind 优点缺点大比拼 人气:531
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 Web Wiz Forums(论坛系统) v9.53
2008-10-7 HDWiki v4.0.1 bulid 081007 UTF
2008-10-7 迅易评选投票管理系统 v10.0
2008-10-7 HDWiki v4.0.1 bulid 081007 GBK
2008-10-7 Bitrac单用户博客 v1.14 bulid 0
2008-10-7 OpenX(广告管理系统) v2.6.2 多国
2008-10-7 乐铺网店系统免费普及版 v3.41
2008-9-29 酷狗音乐(原KuGoo)2008 v5.310 正
2008-9-29 QQTab 1.1
2008-9-29 网络传送带 Net Transport 2.64a
2008-9-29 谷歌金山词霸v1.8
2008-9-29 TweakVI 1.0 Build 1090
2008-9-29 ACDSee Pro 2.5 Build 333 汉化绿
2008-9-29 Winamp v5.541(2189) 周明波简体
2008-9-27 CCleaner 2.12.651
2008-9-27 Mozilla Thunderbird 2.0.0.17 英
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成