Struts2+Spring配置文件

\WebRoot\WEB-INF\web.xml
(JavaEE5)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- Spring2.0 配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Struts2.1 配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>

-------------------------------------------------------------------------------------

/src/struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 配置测试action  -->
<package name="ums"  extends="struts-default">
<action name="login" class="loginAction">
<result name="success">/login/welcome.jsp</result>
<result name="error">/login/error.jsp</result>
<result name="input">/login/login.jsp</result>
</action>
</package>
</struts>

-------------------------------------------------------------------------------------

/WebRoot/WEB-INF/applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<!-- 拦截器 -->
<bean id="myAdvice" class="com.reg.advice.BeforeAdvice"></bean>

<!-- delegate sessionFactory  -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>

<!-- spring transaction -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>

<!-- DAO implement class      IOC -->
<bean id="userDao" class="com.reg.hibernate.dao.UserDao">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- userDAO 的 Spring事物委托代理 -->
<bean id="userDaoProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
<property name="target">
<ref local="userDao"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<!--
<prop key="*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED </prop>
<prop key="update*">PROPAGATION_REQUIRED </prop>
<prop key="delete*">PROPAGATION_REQUIRED </prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly </prop>
-->
</props>
</property>
</bean>
<!-- User业务逻辑组件依赖Spring对UserDAO的事物代理  Transaction -->
<bean id="userService" class="com.reg.service.impl.ServiceImpl" >
<property name="userDao">
<ref local="userDaoProxy"/>
</property>
</bean>

<!-- User业务逻辑组件 依赖 UserDao -->
<!--
<bean id="userService" class="com.reg.service.impl.ServiceImpl" >
<property name="userDao">
<ref local="userDao"/>
</property>
</bean>
-->

<!-- 向Action注入逻辑组件 -->
<!--
<bean id="loginAction" class="com.reg.LoginAction" scope="prototype">
<property name="us" ref="userService"></property>
</bean>
-->

<!-- 向Action注入逻辑组件 AOP-->
<bean id="loginAction" class="com.reg.LoginAction" scope="prototype">
<property name="us" ref="userServiceAdivsor"></property>
</bean>
<!-- AOP 产生代理对象 -->
<bean id="userServiceAdivsor" class="org.springframework.aop.framework.ProxyFactoryBean" >
<!-- 代理对象实现的接口 -->
<property name="proxyInterfaces">
<value>com.reg.service.IService</value>
</property>
<!-- 设置代理对象 -->
<property name="target">
<ref local="userService"/>
</property>
<!-- 代理对象使用的拦截器 -->
<property name="interceptorNames">
<list>
<value>myAdvice</value>
</list>
</property>
</bean>
</beans>

-------------------------------------------------------------------------------------


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。