首页 > 代码库 > 重新学习之spring第三个程序,整合struts2+spring

重新学习之spring第三个程序,整合struts2+spring

第一步:导入Struts2jar包+springIOC的jar包和Aop的Jar包

第二步:建立applicationContext.xml文件+struts.xml文件+web.xml文件

web.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5"  3     xmlns="http://java.sun.com/xml/ns/javaee"  4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7    8     <context-param> 9               <description>10                 将applicationContext.xml放在src目录下,依然能够找到该配置文件11             </description>12           13             <param-name>contextConfigLocation</param-name>14               <param-value>classpath:applicationContext.xml</param-value>15     </context-param>16   17     <listener>18           <description>19             项目启动时,创建Ioc容器,将项目下所有费数据类创建对象,并注入,建立对象之间的关系 20         </description>21           22         <listener-class>23             org.springframework.web.context.ContextLoaderListener</listener-class>24     </listener>25   26   27   28   <filter>29         <filter-name>struts2</filter-name>30         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>31     </filter>32 33     <filter-mapping>34         <filter-name>struts2</filter-name>35         <url-pattern>/*</url-pattern>36     </filter-mapping>37   38 </web-app>
View Code

applicationContext.xml

 

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4         xmlns:aop="http://www.springframework.org/schema/aop" 5         xmlns:tx="http://www.springframework.org/schema/tx" 6         xsi:schemaLocation=" 7             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 8             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 9             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">10     11     <!-- 12         lazy-init:true 懒加载,初始ioc化容器的时候,不建立对象13         lazy-init:false(默认) 不懒加载,初始化ioc容器的时候,就讲applicationContext.XML中所有配置的类的对象创建,并建立关系14         scope:prototype每次取对应id的类的对象,都新创建一个15         scope:singleton(默认)类似于单例模式,只要容器初始化一个类对象,以后所有的取用,都是取这一个16       -->17       18       <!-- 通过setter方法,依赖注入对象。控制反转 -->19     <bean id="UserAction " class="com.bjsxt.sxf.action.UserAction"  scope="prototype" >20         <property name="userDao" ref="UserDao" ></property>21     </bean>22     <bean id="UserDao" class="com.bjsxt.sxf.dao.UserDao" scope="prototype"></bean>23     24     25     26     <!-- 定义一个切面(连接点,切入点,通知) -->27     <bean id="log" class="com.bjsxt.sxf.aop.MyAop"></bean>28     <aop:config >29         <!-- 切入点,将dao包下所有有参数或无参数传入的,有返回值或无返回值类型的公共方法,进行代理。 -->30         <aop:pointcut expression="execution(public * com.bjsxt.sxf.dao.*.*(..))" id="logCut"/>31         <!-- 通知,也就是代理对象中增强功能代码的编写 -->32         <aop:aspect ref="log">33             <!-- 环绕通知,有参数的传递,可对参数传递进行处理 -->34             <aop:around method="aroundRun" pointcut-ref="logCut"/>35         </aop:aspect>36     </aop:config>37 </beans>
View Code

 

struts.xml

 

 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4     "http://struts.apache.org/dtds/struts-2.3.dtd"> 5  6 <struts> 7     <!-- 如果请求地址=actionName!methodName ,则该配置需要进行设置,否则访问地址错误--> 8     <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 9     10     <!-- 开发模式 -->11     <constant name="struts.devMode" value="true" />12     13     <!-- 编码格式过滤 -->14     <constant name="struts.i18n.encoding" value="utf-8"></constant>15     16    <!-- 告诉struts.xml不要自己通过反射new,对象,去spring的ioc容器中找17             action中的class=‘spring中Ioc容器中对象的id‘18             annotation注解生成对象默认情况下id值为是:类名首字符小写19             需要加jar包struts-spring-plugin..jar20          -->21     <constant name="struts.objectFactory" value="spring"></constant>22     23     24     <package name="default" namespace="/" extends="struts-default">25         <!-- actionName!methodName请求方式的配置 -->26         <action name="userAction" class="UserAction">27             <result name="success">/page/success.jsp</result>28         </action>29     </package>30 </struts>
View Code

第三步:测试(省略相关代码。)

 

重新学习之spring第三个程序,整合struts2+spring