用Struts+Spring+Hibernate组装WEB应用

http://tech.ddvip.com   2007年08月01日    社区交流

内容摘要:这篇文章将讨论怎样组合几个著名的框架去做到松耦合的目的,怎样建立你的构架,怎样让你的各个应用层保持一致。这篇文章将使用3种流行的开源框架来讨论组合框架的策略

  每一个对象能被Spring配置里的一个标记引用。在这个例子里,bean “mySessionFactory”代表一个HibernateSessionFactory,bean “myTransactionManager”代表一个Hibernate transaction manager。注意transactionManger bean有一个叫作sessionFactory的属性元素。HibernateTransactionManager有一个为sessionFactory准备的setter和getter方法,它们是用来当Spring容器启动时的依赖注入。sessionFactory属性引用mySessionFactory bean。这两个对象现在当Spring容器初始化时将被连在一起。这种连接把你从为引用和创建这些对象而创建singleton对象和工厂中解放出来,这减少了你应用程序中的代码维护。mySessionFactory bean有两个属性元素,它们翻译成为mappingResources 和 hibernatePropertes准备的setter方法。通常,如果你在Spring之外使用Hibernate,这个配置将被保存在hibernate.cfg.xml文件中。不管怎样,Spring提供了一个便捷的方式--在Spring配置文件中合并Hibernate的配置。

  既然我们已经配置了我们的容器服务beans和把它们连在了一起,我们需要把我们的业务服务对象和我们的DAO对象连在一起。然后,我们需要把这些对象连接到事务管理器。

  这是在Spring配置文件里的样子:

 class="org.
     springframework.
     transaction.
     interceptor.
     TransactionProxyFactoryBean">
 
  
 
 
  
 
 
  
   
  PROPAGATION_REQUIRED,readOnly,-OrderException
   
   
  PROPAGATION_REQUIRED,-OrderException
  
  
 
     class="com.
        meagle.
        service.
        spring.
        OrderServiceSpringImpl">
 
  
 
     class="com.
        meagle.
        service.
        dao.
        hibernate.
        OrderHibernateDAO">
 
  

  图4是我们已经连在一起的东西的一个概览。它展示了每个对象是怎样相关联的和怎样被Spring设置进其它对象中。把这幅图和示例应用中的Spring配置文件对比查看它们之间的关系。

责编:豆豆技术应用

正在加载评论...