分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

SSH整合方案一(带有hibernate.cfg.xml)

发布时间:2023-09-06 01:30责任编辑:苏小强关键词:xml

整体结构

1.导入响应的jar包

2.编写Action,使用继承ActionSupport的方式创建Action,并使用模型驱动来封装表单

在Action中编写需要调用的Service层的属性,并提供set方法

public class CustomerAction extends ActionSupport implements ModelDriven{ ???private CustomerService customerService; ???public void setCustomerService(CustomerService customerService) { ???????this.customerService = customerService; ???} ???//必须手动new ???private Customer customer=new Customer(); ???//模型和属性驱动 ???/** ????* 保存客户 ????* @return ????*/ ???public String add(){ ???????customerService.save(customer); ???????return NONE; ???} ???@Override ???public Object getModel() { ???????return customer; ???}}
CustomerAction

3.编写struts的配置文件,struts.xml中我们主要配置Action,将Action的创建由Spring来管理,在struts.xml主要对bean的引用

(1)将Action的创建由Spring管理

 <!--配置Action必须多例--> ???<bean id="customerAction" class="cn.zqr.action.CustomerAction" scope="prototype"> ???????<property name="customerService" ref="customerService"/> ???</bean>
Spring管理的customerAction

(2)在struts.xml主要对bean的引用

 <package name="crm" namespace="/" extends="struts-default"> ???????<!--Action由Spring管理,class值为Spring的id--> ???????<action name="customer_*" class="customerAction" method="{1}"> ???????</action> ???</package>
struts引用Spring创建的Action

4.编写service层,service中主要需要对dao层的调用,和开启事务两步

对dao层的调用,采用Spring对bean的管理方法,在类中提供dao层的对象,并提供对应的set方法

@Transactionalpublic class CustomerServiceImpl implements CustomerService { ???private CustomerDao customerDao; ???public void setCustomerDao(CustomerDao customerDao) { ???????this.customerDao = customerDao; ???} ???/** ????* 保存客户信息 ????* @param customer ????*/ ???@Override ???public void save(Customer customer) { ???????customerDao.add(customer); ???}}
CustomerServiceImpl
 <!--配置service--> ???<bean id="customerService" class="cn.zqr.service.impl.CustomerServiceImpl"> ???????<property name="customerDao" ref="customerDao"/> ???</bean> ???<!--配置sessionFacotry--> ???<bean class="org.springframework.orm.hibernate5.LocalSessionFactoryBean" id="sessionFactory"> ???????<property name="configLocation" value="classpath:hibernate.cfg.xml"/> ???</bean> ???<!--配置事务--> ???<bean class="org.springframework.orm.hibernate5.HibernateTransactionManager" id="transactionManager"> ???????<property name="sessionFactory" ref="sessionFactory"/> ???</bean> ???<!--开始事务的注解--> ???<tx:annotation-driven/>
配置serice并配置sessionFactory,配置事务,开启注解事务

事务的管理和dao层的持久化都依赖于session,使用Spring管理sessionFactory的创建,并开始事务注解

SSH整合方案一(带有hibernate.cfg.xml)

原文地址:http://www.cnblogs.com/zqr99/p/8046316.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved