`

SSH组合方案三:Hibernate.cfg.xml由Spring管理,用到事务,事务在DAO层

阅读更多

在这里我没有说明Spring与Struts1.2的整合,这部分内容请参看《SSH框架的组合方式一》~!

SSH组合方案三:Hibernate.cfg.xml由Spring管理,用到事务,事务在DAO层
1,应先写好包
com.mengya.entity:实本包
com.mengya.dao:DAO接口包
com.mengya.dao.imple实体包
com.megnya.util:uitl包

2,加上Spring支持

3,加上Struts支持

4,加上Hibernate支持

5,由Hibernate创建entity类和DAO
可以在dao中重载一下delete方法,由ID删除对象
由产生的DAO抽出接口来分别把它们分到com.megnya.dao与com.mengya.dao.imple包中

6,加入Struts中的Action与ActionForm

7,修改struts-config.xml中的action的type值为:org.springframework.web.struts.DelegatingActionProxy作为代理
在struts-config.xml中加上
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
   <set-property property="contextConfigLocation" value="classpath*:applicationContext.xml"/>
   </plug-in>

8,在actionForm中封装BO,在action中写好要用的方法

9,在Spring的applicationContext.xml中配置上action

11,发布出错,少了一个包 commons-pool-1.3.jar

12,没有处理gbk问题,在web.xml中可以加在Spring帮我们写好的filter
applicationContext.xml配置如下:

<!-- 配置数据源 -->
<bean id="myds" class="org.apache.commons.dbcp.BasicDataSource">
   <property name="driverClassName"
    value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
   </property>
   <property name="url"
    value="jdbc:sqlserver://localhost:1433;databaseName=mp">
   </property>
   <property name="username" value="sa"></property>
   <property name="password" value="mengya"></property>
</bean>
<!-- 配置sessionFactory -->
<bean id="sessionFactory"
   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="dataSource">
    <ref bean="myds" />
   </property>
   <property name="hibernateProperties">
    <props>
     <prop key="hibernate.dialect">
      org.hibernate.dialect.SQLServerDialect
     </prop>
    </props>
   </property>
   <property name="mappingResources">
    <list>
     <value>com/mengya/entity/Student.hbm.xml</value>
    </list>
   </property>
</bean>
<!-- 配置DAO -->
<bean id="StudentDAO" class="com.mengya.dao.imple.StudentDAO">
   <property name="sessionFactory">
    <ref bean="sessionFactory" />
   </property>
</bean>
<!-- 配置action -->
<bean name="/stu" class="com.mengya.struts.action.StuAction">
   <property name="studao" ref="StudentDAO" />
</bean>

 

若不用事务就不用继续
若要用到事务接着上面的进行.....

13,在Spring的applicationContext.xml中配置
<!-- 配置事务管理器 -->
<bean id="transacitonManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
   <property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置抽象事务代理,这个bean可以被多个对象继承 -->
<bean id="abstractTranProxy" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
   <property name="transactionManager" ref="transacitonManager" />
   <property name="transactionAttributes">
    <props>
     <prop key="save*">PROPAGATION_REQUIRED</prop>
     <prop key="delete*">PROPAGATION_REQUIRED</prop>
     <prop key="merge*">PROPAGATION_REQUIRED</prop>
     <prop key="*">readOnly</prop>
    </props>
   </property>
</bean>
<!-- 代理DAO -->
<bean id="StudentDAOProxy" parent="abstractTranProxy">
   <property name="target" ref="StudentDAO"/>
</bean>
<!-- 这里的DAO是目标对象 -->
<bean id="StudentDAO" class="com.mengya.dao.imple.StudentDAO">
   <property name="sessionFactory">
    <ref bean="sessionFactory" />
   </property>
</bean>
然后
<!-- action中指向代理对象 -->
<bean name="/stu" class="com.mengya.struts.action.StuAction">
   <property name="studao" ref="StudentDAOProxy" />
</bean>

分享到:
评论

相关推荐

    SSH 项目框架搭建总结

    建立Web工程 * 导入需要的jar包 db:连接数据库的驱动包 hibernate:使用hibernate的jar包 jstl:java的标准标签库 junit:测试用到的jar包... hibernate.cfg.xml:hibernate的配置文件 struts.xml:struts2的配置文件

    基于Java web SSH框架的电影后台管理系统(源码+数据库).zip

    # 电影后台管理系统 ## 项目采用技术 - [x] Spring+struts2+...修改hibernate.cfg.xml文件 ```xml &lt;property name="hibernate.connection.username"&gt;root &lt;property name="hibernate.connection.password"&gt;123456 ```

    ssh(structs,spring,hibernate)框架中的上传下载

     由于Spring通过代理Hibernate完成数据层的操作,所以原Hibernate的配置文件hibernate.cfg.xml的信息也转移到Spring的配置文件中:  代码 4 Spring中有关Hibernate的配置信息 1. 2. !-- 数据源的配置 //--> 3. ...

    AutoCode代码生成器【SSH版】

    Hibernate3.2配置--&gt; hibernate.cfg.xml JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置...

    SSH代码生成工具 SSH代码生成器

    Hibernate3.2配置--&gt; hibernate.cfg.xml JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置...

    ssh代码生成器轻松、快捷

    Hibernate3.2配置--&gt; hibernate.cfg.xml JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置...

    j2ee SSH 整合笔记,献于新手。。

    思路,用spring 管理 struts 的action ,与hibernate 的dao 持久层。 先载入jar包,在myeclipse里 增加 struts 增加 hibernate 增加 spring。 然后去网上下载 最新的ssh jar包,覆盖调 web-info\lib\的所有jar包。 ...

    AutoCode代码生成器(SSH版)

    Hibernate3.2配置--&gt; hibernate.cfg.xml JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置...

    spring考试通过必备材料.docx

    1、Web.xml 3 2、applicationContext.xml 总代码 4 不必着急 5 &lt;!—4、依赖注入 --&gt; 8 applicationContext.xml中Setter方法...Hibernate.cfg.xml 31 AOP方法的通知 31 单独前置通知 31 单独后置通知 32 单独环绕通知 32

    北大青鸟学士后第三单元OA办公自动化管理系统

    src下的applicationContext.xml 和 hibernate.cfg.xml 是hibernate配置信息和Spring的配置分开配置再通过classpath 导入给applicationContext.xml(这两个文件本身已经没使用到了) 项目现在hibernate配置信息都写在了...

Global site tag (gtag.js) - Google Analytics