`
jyangzi5
  • 浏览: 212207 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Spring+hibernate+struts

阅读更多

前久写了一贴:"代理模式在Spring+hibernate+struts框架中的应用",引起了比较广泛的讨论,虽然丢砖头的不少,呵呵.

此外在Spring+hibernate+struts框架中,我比较广泛地用到了"适配器模式".故讨论一下.

为了让代码通用,在Spring+hibernate+struts中,我做了个baseDao和baseService类,这两个类是通用的对表维护的操作.这样大多数表维护的代码,只要这两个类就可以了.

当有BUSINESS OBJECT时,从baseService继承产生一个businessServiceIMP类,这时运用"适配器模式",定义IbusinessService接口.
这样就能让接口代码简化.达到了运用适配器模式的目的.
再加上Spring+hibernate+struts框架的优点,可以灵活把DAO层,和SERVICE层的任意类更换掉,相当灵活,举一个Spring+hibernate+struts的配置例子如下:

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">   
  3.   
  4. <beans>   
  5.     <!-- ========================= Start of PERSISTENCE DEFINITIONS ========================= -->   
  6.   
  7.     <!-- Choose the dialect that matches your "dataSource" definition -->   
  8.   
  9.     <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">   
  10.         <property name="driverClassName">   
  11.             <value>org.gjt.mm.mysql.Driver</value>   
  12.         </property>   
  13.         <property name="url">   
  14.             <value>jdbc:mysql://localhost:3306/oa?useUnicode=true&amp;characterEncoding=GBK&amp;autoReconnect=true</value>   
  15.         </property>   
  16.         <property name="username">   
  17.             <value>root</value>   
  18.         </property>   
  19.         <property name="password">   
  20.             <value></value>   
  21.         </property>   
  22.     </bean>   
  23.   
  24.     <bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">   
  25.         <property name="mappingResources">   
  26.             <list>   
  27.                 <value>oa/pojo/Auth.hbm.xml</value>   
  28.                 <value>oa/pojo/Card.hbm.xml</value>   
  29.                 <value>oa/pojo/Fast.hbm.xml</value>   
  30.                 <value>oa/pojo/Fax.hbm.xml</value>   
  31.                 <value>oa/pojo/Note.hbm.xml</value>   
  32.                 <value>oa/pojo/Plan.hbm.xml</value>   
  33.                 <value>oa/pojo/User.hbm.xml</value>   
  34.             </list>   
  35.         </property>   
  36.   
  37.         <property name="hibernateProperties">   
  38.             <props>   
  39.                 <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>   
  40.                 <prop key="hibernate.show_sql">true</prop>   
  41.                 <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>   
  42.             </props>   
  43.         </property>   
  44.   
  45.         <property name="dataSource"><ref bean="myDataSource"/></property>   
  46.     </bean>   
  47.   
  48.   
  49.   
  50.     <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA); -->   
  51.     <bean id="myTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">   
  52.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>   
  53.     </bean>   
  54.   
  55.   
  56.     <!-- Base DAO : Hibernate implementation -->   
  57.     <bean id="baseDAO" class="common.spring.dao.BaseDAOImpl">   
  58.         <property name="sessionFactory"><ref local="mySessionFactory"/></property>   
  59.     </bean>   
  60.   
  61.     <!-- Base primary business object implementation -->   
  62.     <bean id="baseServiceSpring" class="common.spring.service.BaseServiceSpringImpl">   
  63.         <property name="baseDAO"><ref local="baseDAO"/></property>   
  64.     </bean>   
  65.   
  66.     <!--  Base SERVICE  -->   
  67.     <bean id="baseService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">   
  68.         <property name="transactionManager"><ref local="myTransactionManager"/></property>   
  69.         <property name="target"><ref local="baseServiceSpring"/></property>   
  70.         <property name="transactionAttributes">   
  71.             <props>   
  72.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly,-BaseServiceException</prop>   
  73.                 <prop key="set*">PROPAGATION_REQUIRED,-BaseServiceException</prop>   
  74.                 <prop key="modify*">PROPAGATION_REQUIRED,-BaseServiceException</prop>   
  75.                 <prop key="remove*">PROPAGATION_REQUIRED,-BaseServiceException</prop>   
  76.             </props>   
  77.         </property>   
  78.     </bean>   
  79.   
  80.   
  81.     <!-- logon primary business object implementation -->   
  82.     <bean id="logonServiceSpring" class="common.spring.service.LogonServiceSpringImpl">   
  83.         <property name="baseDAO"><ref local="baseDAO"/></property>   
  84.     </bean>   
  85.   
  86.     <!--  logon SERVICE  -->   
  87.     <bean id="logonService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">   
  88.         <property name="transactionManager"><ref local="myTransactionManager"/></property>   
  89.         <property name="target"><ref local="logonServiceSpring"/></property>   
  90.         <property name="transactionAttributes">   
  91.             <props>   
  92.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly,-BaseServiceException</prop>   
  93.                 <prop key="set*">PROPAGATION_REQUIRED,-BaseServiceException</prop>   
  94.                 <prop key="modify*">PROPAGATION_REQUIRED,-BaseServiceException</prop>   
  95.                 <prop key="remove*">PROPAGATION_REQUIRED,-BaseServiceException</prop>   
  96.             </props>   
  97.         </property>   
  98.     </bean>   
  99.   
  100. </beans>  
分享到:
评论

相关推荐

    spring+hibernate+struts

    标题 "spring+hibernate+struts" 指涉的是一个经典的Java Web开发框架组合,也被称为SSH(Spring、Struts和Hibernate)三位一体。这个组合在2000年代中期到后期非常流行,用于构建企业级应用。下面将详细阐述这三个...

    Spring+Hibernate+Struts资源共享系统

    在“Spring+Hibernate+Struts”系统中,Hibernate 负责处理数据库操作,将Java对象映射到数据库表,从而避免了繁琐的SQL代码编写。通过 Hibernate,开发者可以轻松地进行数据的增删改查操作,同时支持事务管理和缓存...

    人力资源管理系统(Spring + Hibernate + Struts项目实例)

    Spring + Hibernate + Struts Src源码 QQ:afa1588@qq.com Email: kfu_lufazhan@126.com 博客: www.vipaspx.com 此项目已经获取项目专利,本实例代码仅限于学习和交流之用. 已经获取实例源代码的朋友,请不要进行...

    java开发框架(Spring+Hibernate+Struts)

    Java开发框架中的Spring+Hibernate+Struts组合,被誉为Java开发的主流体系,具有显著的优势地位。这个框架组合的稳固性体现在其广泛的应用和社区支持,尤其是在企业级JavaEE应用中。Spring作为一款全面的轻量级应用...

    简单struts+spring+hibernate搭建,配置

    简单struts+spring+hibernate搭建,配置,适合初学者

    DWR+Struts+spring+hibernate的订货系统

    DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能

    图书管理系统spring+struts+hibernate

    《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...

    spring+hibernate+struts教程

    spring+hibernate+struts教程

    基于JSP+Spring+Hibernate+Struts2+mysql的毕业生离校管理系统设计与实现(源码+文档).zip

    资源名字:基于JSP+Spring+Hibernate+Struts2+mysql的毕业生离校管理系统设计与实现(源码+文档).zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 包含模块: ...

    spring+hibernate+struts2整合

    本项目主要涉及的是Spring、Hibernate和Struts2这三个主流的Java开发框架的整合。它们分别负责不同的职责:Spring作为全能型容器,管理对象和依赖注入;Hibernate是持久层框架,负责数据库操作;而Struts2则是一个...

    spring+hibernate+Struts2的jar包

    在Java Web开发中,Spring、Hibernate和Struts2是三个非常重要的框架,它们分别负责不同的职责,共同构建出一个强大的企业级应用系统。这个压缩包包含这三个框架的核心库,为开发者提供了一站式解决方案,方便集成和...

    一个spring+struts+hibernate的例子

    一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流

    ssh框架整合详细步骤(spring+struts2+hibernate)

    ### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...

    spring+hibernate+struts整合jar包

    Spring、Hibernate和Struts是Java开发中非常经典的三大框架,它们分别负责控制层、持久层和展示层,常被组合使用以构建企业级Web应用程序。本文将详细介绍这三大框架的整合过程及其关键知识点。 首先,Spring框架是...

    网上订餐系统(struts+spring+hibernate).rar

    网上订餐系统(struts+spring+hibernate).rar 网上订餐设计主要采用采用MYSQL数据库进行数据表的设计,利用JSP的动态生成页面编程技术, 实现了用网络展示餐饮信息、浏览餐饮页面、注册客户、更改客户信息;同时,...

    SSH项目(spring+hibernate+struts2)

    SSH项目是一种经典的Java Web开发框架组合,由Spring、Hibernate和Struts2三个开源框架组成。这个项目示例提供了一个基于这些技术的简单应用,帮助开发者理解如何将它们整合在一起进行实际开发。 **Spring框架**是...

    spring+struts2+hibernate+mybatis

    一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去

    maven整合spring+hibernate+struts2

    本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...

Global site tag (gtag.js) - Google Analytics