科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件基于Spring+Hibernate+Eclipse进行敏捷Java开发(3)

基于Spring+Hibernate+Eclipse进行敏捷Java开发(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文中,作者提供了使用敏捷方法和普通Java对象(POJO)构建企业级Java应用程序的一个指南,涉及到大量的从概念到工程发布等多方面的基本内容。

作者:朱先忠编译 来源:51CTO.com 2007年9月3日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
 

七、基于Spring框架进行Web层开发

Spring(springframework.org)是一个无法用一句话来描述的非常复杂的框架。例如,它支持IoC(控制反转)(martinfowler.com/articles/injection.html),一个完整的Web MVC框架,JDBCORMJEE/Web务,面向方面编程(AOP),声明性事务管理,作业调度,邮件,等等。

基于Spring框架进行开发具有若干优点,例如更为容易和更整洁的单元测试,能够结合企业服务(例如声明性事务管理)在轻量级容器(Apache Tomcat)内使用POJO,方便的数据存取,以及通过ORMJDBC集成实现一致的数据异常处理,在一个Web/应用程序服务器上实现作业调度,等。

Spring Web MVC框架

Spring Web MVC框架是一个强壮、灵活、设计良好的框架,用于基于MVC设计模式实现Web应用程序的快速开发。使用Spring模块的一个非常关键的优点就是,它能够直接绑定到业务对象不象其它框架需要你继承特定的子类。下面,让我们来回顾这个框架中的一些与Java及其配置相关的概念。

Spring MVC Java概念

Spring MVC中提供了如下关键的Java概念:

控制器

模型和视图对象

命令(表单支持)对象

校验器对象

标签库

Spring MVC的一个非常优秀的特征是,它提供了大量可供选用的控制器类(见图8)。当然,如果你刚开始学习这个框架的话,这可能不是一件好事情,因为你可能难以决定使用哪种控制器类。例如,我习惯于在操作HTML表单时使用SimpleFormController,而当我不需要使用控制器时仅使用UrlFilenameViewController。有些情况下,当我想使用一种非表单式控制器时,我只是简单地实现控制器接口。

 

8Spring MVC提供了大量可供选用的控制器类

许多关键的与GETPOST相关的Spring控制器方法都会返回一个ModelAndView对象它可以包含与模型相关的数据和一个视图的名字(或对一个视图对象的引用)。对于支持HTML表单的控制器类来说,我们可以使用可选的命令和校验器对象来把HTML表单域绑定到Java对象并且对输入数据进行校验。至于视图本身,Spring支持多种视图技术,包括JSPVelocity,还有JasperReports。下面让我们来分析如何在视图中使JSP

前面的图5展示了一个示例表单的屏幕快照,它可以在JSP中并结合Spring的绑定标签库进行开发。这种Spring绑定标签库相当简单但是功能强大。典型情况下,它被应用于JSP文件中经由<spring:bind>标签它实质上实现把HTML表单域绑定到命令对象。而且,它还提供到JSP中特定变量的存取;另外,使用JavaServer页面标准标签库(JSTL)表达式例如${status.value}也可以对这种变量进行存取。下面的代码片断展示了spring:bind标签库的工作方式。请注意在此我们是如何直接绑定到Department(业务)对象的(在Hibernate一节我们已经讨论过):

<spring:bind path="command.departmentCode">

<input name='<c:out value="${status.expression}"/>'

type="text" size="10" maxlength="30">

</spring:bind>

除了spring:bind之外,Spring 2.0中还引入一些新的标签库,从而使得操作单个HTML表单元素更为容易。这其中的一些新标签包括form:inputform:textarea,等等。

Spring MVC配置概念

到现在为止,我们仅分析了Spring MVC中的一些与Java相关的概念。当然Spring还有其它许多方面需要进行配置。在系统一开始运行时,必须在Web服务器的Web.xml文件中配置它的DispatcherServlet类;这样以来,匹配某一种特定扩展(.htm)的文件就可以由Spring MVC进行处理。一旦配置好这一点,一切就会转入到Spring MVC控制之中。此后,我们还要在一个Spring应用程序上下文文件内配置视图解析器和处理器映射。视图解析器负责把到来的URL映射为实际的视图名称,而处理器映射部分则负责把到来的URL映射为控制器类。

Spring ORM

Spring的一大优点是它对于第三方API(例如JDBCJAX-RPCHibernate,等等)的支持。例如,如果我们结合Hibernate使用Spring的话,我们不需要自己去编码实现管理HibernatesessionFactory、会话及可编程事务管理。结合Hibernate使用Spring的优点在于,它能够把与Hibernate相关的编程量减少几乎一半;同时,还提供其它的优点,例如更容易的测试,一致的异常层次以及对Hibernate资源的管理等。

有关更多细节,请访问网站springframework.org

八、基于Eclipse IDE进行高效的Java开发

Eclipse平台实质上是一个框架,它提供了一组服务,其它插件能够基于其上运行。每种插件都是基于相同的平台开发,进而组成一组高度集成的工具。当前,Eclipse网站拥有许多正在开发中的子工程,包括从对各种编程语言的支持到建模插件到报告,测试,性能等,几乎涉及到软件开发过程的方方面面。

Eclipse的核心概念中包括了一个工作区实质上是一个相应于你的工程的目录。Eclipse中最主要的屏幕称作工作台(见图9)。该工作台中包含了一组编辑器和视图。

 

9Eclipse中最主要的工作台屏幕

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章