SSH整合

 

 

Struts+Spring

 

1.         配置Action Bean(applicationContext.xml)

 

<bean name="/login"  class="com.newer.struts.action.LoginAction">

</bean>

2.         添加Spring capabilities

    右击工程-->MyEclipse-->add Spring capabilities

3.         添加Spring web library

右击工程->properties->java build path->Libraries->Add Library

->MyEclipse Libraries->Spring 2.0 web Libraries

4.         struts 中配置代理Action(struts-config.xml)

<action

     name="userForm"

     path="/login"

     scope="request"

     type="org.springframework.web.struts.DelegatingActionProxy">

      <forward name="index" path="/index.jsp" />

      <forward name="main" path="/main.jsp" />

 </action>

5.         加载spring配置文件(web.xml)

<listener>

    <listener-class>

       org.springframework.web.context.ContextLoaderListener

    </listener-class>

</listener>

<context-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>

       classpath:applicationContext.xml

    </param-value>

</context-param>

 

Hibernate+Spring

6.         添加Spring 2.0 ORM/hibernate3 libraries

右击工程->properties->java build path->Libraries->Add Library

->MyEclipse Libraries->>Spring 2.0 ORM/hibernate3 Libraries

7.         删除Spring 2.0 AOP libraries中的asm2.2.3.jar

Window->Prefrences->MyEclipse->Proejct Capabilities->Spring->Spring2->下拉框中选择Spring2.0 AOP Libraries—删除其中的asm-2.2.3.jar

 

删除图中选中项

8.         配置SessionFactory(applicationContext.xml)

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <property name="configLocation"

               value="classpath:hibernate.cfg.xml"></property>

</bean>

 

9.         修改UserDaoImpl,使其继承HibernateDaoSupport

public class UserDaoImpl extends HibernateDaoSupport

implements UserDao

 

  使用this.getHibernateTemplate()改写CRUD操作

10.     配置UserDao Bean(applicationContext.xml)

 

<bean id="userDao" class="com.newer.dao.UserDaoImpl">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

11.     修改UserServiceImpl,在该类中添加set/getUserDao方法

12.     配置UserService Bean(applicationContext.xml)

<bean id="userService"

       class="com.newer.service.UserServiceImpl">

       <property name="userDao" ref="userDao"></property>

</bean>

13.     修改LoginAction类,将userService属性设置成null( UserService userService = null), 添加set/getUserService方法

 

14.     修改LoginActionBean配置(applicationContext.xml)

  <bean name="/login"

       class="com.newer.struts.action.LoginAction">

       <property name="userService" ref="userService"></property>

    </bean>

15.     添加事务支持

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

     http://www.springframework.org/schema/tx

    http://www.springframework.org/schema/tx/spring-tx-2.0.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

 

 

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

       <property name="sessionFactory" ref="sessionFactory"></property>

    </bean>

   

    <tx:advice id="transactionAdvice" transaction-manager="transactionManager">

       <tx:attributes>

           <tx:method name="del*" propagation="REQUIRED" />

           <tx:method name="save*" propagation="REQUIRED" />

           <tx:method name="update*" propagation="REQUIRED" />

       </tx:attributes>

    </tx:advice>

   

    <aop:config>

       <aop:pointcut id="tranpc" expression="execution(* com.newer.service.*.*(..))"/>

       <aop:advisor advice-ref="transactionAdvice" pointcut-ref="tranpc"/>

    </aop:config>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值