论坛首页 Java企业应用论坛

SpringMVC深度探险(一) —— SpringMVC前传

浏览 43378 次
该帖已经被评为精华帖
作者 正文
   发表时间:2012-01-08  
downpour 写道
evanzzy 写道
和楼主有点小的不同看法:我倒是认为Struts2比SpringMVC要来的更革命性一些,SpringMVC本身和Struts1的用法很像,就是简单的跳转,功能没有Struts2那么多的。

我也比较推荐Spring3 MVC,原因有Spring3 MVC的跳转使用的是字符串,开发过程中字符串易于包装改造,可以在跳转的层面做出不少新鲜功能(例如未经系统明确定义的跳转,而Struts2必须是在xml里面配置好的跳转路径);另外Spring本身基本上是一个必选的框架,使用Spring3 MVC,学习成本比Struts2要低不少,而且性能上比较有保证。


从革命性角度,两者走的是不同的路线,无从比较。学习成本两者差不多,Struts2上手快,但精通难。性能上两者差不多。所以其实选择还真不好说,根据实际情况来吧。

太浮躁
0 请登录后投票
   发表时间:2012-01-09  
支持,盼望来个《Spring MVC 技术内幕》
0 请登录后投票
   发表时间:2012-01-09  
支持楼主,也只有这三种技术都深入使用过,才能有这么深刻的总结呀
0 请登录后投票
   发表时间:2012-01-09  
young_suse 写道
Struts2后来也有了Annotation机制,采用convent plugin来实现零配置。

Struts2最早是struts2-codebehind-plugin实现struts的零配置,后来使用struts2-convention-plugin代替。Struts2插件很多,struts2-config-browser-plugin也是常用的一个插件,对于SpringMVC有没有这个功能不太了解。
0 请登录后投票
   发表时间:2012-01-09  
期待下文 赞
0 请登录后投票
   发表时间:2012-01-09  
佩服楼主的真知灼见,
请教楼主一个问题,
spring MVC是否跟struts1一样存在线程安全的问题呢?
0 请登录后投票
   发表时间:2012-01-09  
young_suse 写道
Struts2后来也有了Annotation机制,采用convent plugin来实现零配置。



struts 验证,早被jquery 和ajax秒杀。
struts标签,效率低,而且可能会导致页面的兼容性问题。
估计那时候想一揽子解决前台后台的所有问题。


除去这些,差别就不是很多了。
主要在于 springmvc把request参数与方法挂钩,而不是struts2的 基于类变量的set方法。
还有一个是rest风格。

注解和xml 无非是一个实现问题。
不是很多人一直认为 xml 容易定位么,易于维护。

0 请登录后投票
   发表时间:2012-01-09  
supben 写道
young_suse 写道
Struts2后来也有了Annotation机制,采用convent plugin来实现零配置。



struts 验证,早被jquery 和ajax秒杀。
struts标签,效率低,而且可能会导致页面的兼容性问题。
估计那时候想一揽子解决前台后台的所有问题。


除去这些,差别就不是很多了。
主要在于 springmvc把request参数与方法挂钩,而不是struts2的 基于类变量的set方法。
还有一个是rest风格。

注解和xml 无非是一个实现问题。
不是很多人一直认为 xml 容易定位么,易于维护。




Annotation但从技术层面确实比较好,但是考虑到整个项目的维护,新人的介入确实很头疼,小弟以前刚进项目组的时候
上千个类的注解,相当的奔溃。

还有个问题请教楼主, Annotation注入的话会不会比XML配置形式 实现起来效率会低?(愚人未试验过,弱弱的请教一下)
0 请登录后投票
   发表时间:2012-01-09  
膜拜学习中哦,LZ 期待您的新作品早日问世
0 请登录后投票
   发表时间:2012-01-09  
LZ有没有在大一点的项目中完全使用SpringMVC的注解来完成配置?比如一个项目中至少存在300个以上的请求,10人以上的开发人员。。。
我始终觉得,在项目规模比较庞大、开发人员比较多的情况下,使用注解这种精巧、灵活的配置方式,沟通和维护成本太大,新人很难界入。。。我更喜欢使用XML这种集中式的配置方式。
另外,注解方式的性能表现我始终心存疑虑。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics