Structs 整合Spring
来源:互联网 发布:腾讯视频数据分析 编辑:程序博客网 时间:2024/05/29 12:12
之前在学写SSH框架的时候 每个部分是分开学的,所以在Struts下用 Spring 也想当然的用了配置文件 还自作聪明的使用了static 来避免配置文件反复加载
import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class ApplicationContextUtil { static ApplicationContext applicationContext; static{ applicationContext = new ClassPathXmlApplicationContext("app*.xml"); } public static synchronized Object getBean(String target){ return applicationContext.getBean(target); } }
= =然后Action里面就出现了很多奇怪的 ApplicationContextUtil.getBean 来获取对象
现在需要使用到Spring中task 来实现定时任务才发现 Spring可以被整合到Struts中 Struts的action对象也可以交给Spring实现 来达到IOC 控制反转的效果
背景扯完了 下面来点干货吧
首先是配置web.xml 这部的目的是在web项目启动的时候扫描配置文件,配置的内容就是给web项目加一个监听器
<context-param> <param-name>contextConfigLocation</param-name><!-- 固定的 --> <param-value>classpath:applicationContext.xml</param-value><!--指定spring配置文件的位置--> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>第二步指定struct 的objectFactory ,实现的目的是 告诉struts 是用Spring配置文件来生成对象
这一步需要加包 struts2-spring-plugin.jar 分析配置项也能知道需要这个包
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
这样我们的配置工作就完成了
最后放上demo
spring 中配置bean
<!-- 配置 action--> <bean id="loginAction" class="com.yueguang.actions.LoginAction"> <property name="baseDao" ref="baseDao"> </property> </bean> <bean id="testAction" class="com.yueguang.actions.TestAction"> </bean>structs 中使用
<package name="test" namespace="/test" extends="struts-default"> <action name="haha" class="testAction" method="test"> <result name="success">/Error.jsp</result> <result name="fail" type="chain"> <param name="actionName">kaka</param> <param name="namespace">/test</param> </result> </action> <action name="kaka" class="testAction" method="testkaka"> <result name="success">/Error.jsp</result> <result name="fail">/Login.jsp</result> </action> </package> <package name="struts2" namespace="/" extends="struts-default"> <global-results> <result name="login">/Login.jsp</result> <result name="input">/Error.jsp</result> </global-results> <action name="Login_*Login" class="loginAction" method="{1}Login"> <result name="success" type="redirectAction"> <param name="actionName">haha</param> <param name="namespace">/test</param> </result> <result name="fail">/Login.jsp</result> </action> <action name="Upload" class="com.yueguang.actions.Upload"> <result name="success">/index.jsp</result> <result name="fail">/Error.jsp</result> </action> </package>
0 0
- Structs 整合Spring
- Spring 整合Structs
- Structs+Spring整合所需(笔记)
- Spring+Hibernate+Structs整合所需具体jar包
- Spring+Hibernate+Structs三大经典开源框架整合
- structs整合ireport(japser)
- EJB spring hibernate structs
- SSH(Structs Spring Hibernate)
- spring hibernate structs
- structs+spring+hibernate随笔
- 关于structs和Spring框架整合中的模块装配问题心得
- structs+spring+ibatis研究开始
- Structs+Spring+Hibernate快速入门
- Structs+Spring+Hibernate快速入门
- Structs+Spring+Hibernate快速入门
- Structs+Spring+Hibernate快速入门
- structs
- structs
- Microsoft Visual Studio 2010 如何添加控制台调试信息
- GreenDao官方文档翻译
- Hadoop文件解压缩
- Android的ScrollView和HorizontalScrollView-android学习之旅(四十一)
- mysql 架构与概念
- Structs 整合Spring
- zerglurker的C语言教程001——开发环境搭建
- Android实现回退
- Timer和TimerTask详解——(转)
- 解决RecyclerView 在XML文件中,不能preview
- Contiki网络协议栈uIP和rime
- Android开发中完全退出程序的三种方法
- 动态设置ImageView中的图片
- 利用牛顿开方法开任意次方