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> |