锁定老帖子 主题:Struts2集成Spring的讨论
精华帖 (0) :: 良好帖 (1) :: 新手帖 (1) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-24
最后修改:2011-06-14
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-24
学习了,分析得很仔细
|
|
返回顶楼 | |
发表时间:2010-09-25
public class TestAction { private static int id = 0; public String execute() throws Exception{ System.out.println(id+10); return "success"; } }这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释 |
|
返回顶楼 | |
发表时间:2010-09-25
Struts2和Spring的集成度很低的。如果不基于Struts2扩展,那么还好。如果要基于Struts2扩展,和Spring集成就不太方便。虽然,Interceptor这些东东都可以基于Spring定义(有兴趣的可以看一下ObjectFactory这个类),但是和Struts2自身的Container一起就不太好处理了。
|
|
返回顶楼 | |
发表时间:2010-09-25
恩 interceptor把切面提前到了action这边,感觉和spring有些冗余了吧
|
|
返回顶楼 | |
发表时间:2010-09-25
Aaronlong31 写道
public class TestAction { private static int id = 0; public String execute() throws Exception{ System.out.println(id+10); return "success"; } }这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释
|
|
返回顶楼 | |
发表时间:2010-09-25
struts2本身的框架不错,没必要非和spring集成,不过学习了
|
|
返回顶楼 | |
发表时间:2010-09-25
Aaronlong31 写道
public class TestAction { private static int id = 0; public String execute() throws Exception{ System.out.println(id+10); return "success"; } }这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释
|
|
返回顶楼 | |
发表时间:2010-09-25
Aaronlong31 写道
public class TestAction { private static int id = 0; public String execute() throws Exception{ System.out.println(id+10); return "success"; } }这个如果用spring集成,为什么结果会是:10/20/30/40……,lz根本就没改变过id的值,求解释
|
|
返回顶楼 | |
发表时间:2010-09-25
楼主的理解是错误的。不过楼主的钻研精神还是值得学习。
在官方提供的Struts2与Spring的集成有2种方式: 1. 使用autowire的拦截器 2. 将Struts2的bean委托给Spring进行管理 我们在集成时,只要采取其中任何一种方式即可。也就是说,当你试用了autowire拦截器之后,就不需要再设定Struts2的ObjectFactory的实现为spring,也就不存在你在主贴中所说的所有东西。autowire拦截器是比较推荐的做法,将Struts2的bean委托给Spring进行管理经过我观察会有些性能问题。 |
|
返回顶楼 | |