jaunleeID:JaunLee
9838次访问,排名10512好友0人,关注者2
JaunLee的文章
原创 10 篇
翻译 0 篇
转载 21 篇
评论 1 篇
最近评论
han0104:其实视频挺好的。我看了好久也不如看半个小时的视频
文章分类
    收藏
      相册
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 粗谈Struts+Hibernate+Spring开发——从分层,对接,蔓延的开发过程来看Struts,Hibernate,Spring的整合开发收藏

      新一篇: 微软面试题目完全版 | 旧一篇: J2EE初学者需要理解的问题

       1.设计持久化层
        在使用Hibernate来完成持久层的系统中,持久化层包括:数据库中的表,影射文件,POJO类。
          设计持久层有两种方法:
            ●对需求进行分析,提取应用中的对象,将这些对象抽象成类,再抽取其中需要持久化保存的类,

      这些类就是系统中要用到的POJO类了。从POJO类出发,手动地建立数据库的表,再手动地编写影射文

      件。当然,如果使用工具的话,我们完全可以,从POJO类生成影射文件和数据库中的表。
            ●对需求进行分析,设计数据库。根据数据库中的表手动地编写POJO类,再手动地编写影射文件。

      同样,如果使用工具的话,我们可以从数据库中的表出发,生成影射文件和持久化类POJO。
        2.DAO层的实现
         在这一层的实现中,Spring为与Hibernate的整合提供了很好的支持类——HibernateDaoSupport类,只需

      向该类传入一个SessionFactory的引用,即可通过通过getHibernateTemplate()方法得到一个

      HibernateTemplate类的实例,该类的功能非常强大,对数据库的大部分操作都可通过该实例很容易地

      实现。所以我们一般都是使每个DAO类都继承自这个HibernateDaoSupport类。
        在应用当中,我们通常都是由Spring对DAO进行统一的管理,由Spring向DAO组件中注入SessionFactory

      的实例。为了与Hibernate的整合,Spring提供了大量的工具类。通过LocalSessionFactoryBean类就可以

      将Hibernate的SessionFactory纳入其IoC容器内。对SessionFactory bean的封装配置需要Hibernate的数据

      源,所有影射文件,Hibernate的属性这些信息。
        最后,在配置每个DAO组件时,向其中注入SessionFactory bean的引用。这里一个明智的作法是配置

      一个父bean,向其中注入SessionFactory bean,再让所有的DAO bean都继承它。
        3.Service层的实现
        Service需要实现的业务方法主要取决于业务的需要。这些业务方法中,需要对数据库进行操作的都需

      要用到相应的DAO实例。因此Service组件中一般都需要有DAO实例,除非这个应用系统用不到数据库

      。这正是Spring的用武之地,我们可以通过Spring向Service组件的bean之中注入DAO  bean。
       ----------------------------------------------------------------从底层向上层的开发暂停,等待对接--------------------------------------
        4.Struts MVC层的实现
            i.  继承ActionServlet对请求进行统一的拦截。
              我们对请求进行统一的拦截是为了解决请求时可能遇到的相同的问题,比如中文乱码问题。当然

      ,如果不存在请求中的相同的问题时,这一部就不没有必要了。
            ii.  根据需求分析编写JSP页面。
            iii.  根据JSP页面的请求完成ActionForm部分。
            iv.  根据请求的目的和意义编写Action。
        这Struts MVC层的实现时与Spring进行整合,具体方法见我的另外一文《粗谈Spring与Struts的整合——

      从实现的Struts的扩展点上看Spring与Struts的整合》。
      ----------------------------------------------------------------对接Service组件-----------------------------------------------------------------
        5.实现Struts MVC层与Service层的对接
          在编写Action类的时候,一般都要调用业务逻辑方法(至接转发是除外)以实现业务逻辑。这就要求

      Action类里要有Service组件对象的实例。这就和Service层完成了对接。
      ----------------------------------------------------------------蔓延---------------------------------------------------------------------------------
        6.再向Service层组件中添加业务逻辑方法
          因为我们采用的是从两头开发然后对接的方式,所以当我们从上层的往下层开发到Action时,调用其

      中的Service组件成员的业务逻辑方法时,可能遇到需要的业务逻辑方法在Service组件中还不存在的情

      况。这时,我们要在Service组件中添加相应的方法,这一过程我称之为蔓延。

        7.为业务逻辑组件配置代理

          在applicationContext.xml中,通过注入sessionFactory配置事务管理器,通过注入该事务管理器配置拦

      截器,通过注入拦截器配置事务代理。

          可以向同一个代理注入多个拦截器,不一定就只注入一个事务拦截器,可以配制的多个起不同作用

      的拦截器。

          这就完成了整个系统的开发了。我将这种从两头出发开发,从底层开发来的Service组件作为从上层开发来的Action类的成员的过程称为对接。 

      发表于 @ 2007年10月18日 21:56:00|评论(loading...)|编辑

      新一篇: 微软面试题目完全版 | 旧一篇: J2EE初学者需要理解的问题

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © JaunLee