论坛首页 Java企业应用论坛

spring 缺陷

浏览 14287 次
锁定老帖子 主题:spring 缺陷
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2013-07-23  
picasso.di 写道
1. Spring在2.5.6SE之后已经将包做了模块化划分,如果再细分,就太碎片化了。另外,不应该重复发明轮子。既然业界已经有非常不错的被大家广泛认可的开源实现,为什么还是要自己写呢?难道Spring也要写一个自己的logging?写一个自己的cglib?写一个自己的apache-commons?写一个自己的xml解析?
2. AOP是Spring的核心功能之一,孤陋寡闻了,AOP都没成鸡肋了 ?就拿声明式食物来说,没有AOP怎么实现?
3. 任何框架都会有一定的配置或约定。在注解的驱动下,controller可以不实现任何接口或继承任何父类,Spring容器通过注解来理解controller各个方法的行为。如果只解析class,容器如何得知那个方法是处理哪种http请求?绑定哪个pojo?是要返回json还是httpresponse?除非你的class继承了什么什么类或者实现了什么什么接口。我就不相信我随便写一个类,你扫描一下class就知道我想干什么?
4. 依赖并不是衡量一个框架是否优秀的主要因素,例如apache的common,log4j或slf4j,这些类库已经广泛用于java项目中。我觉得spring在依赖方面已经做的不错了,而且通过maven能够很轻松的管理这些依赖。


赞一个!!

楼主你很偏激啊。我很喜欢spring,我认为spring是一个java最佳实践 或 最佳模式的大集合,他的核心就是IoC和jdk的反射。

还有一点并不是每个人都有能力玩好IoC的,所以项目中确实需要这个功能,也不是大多数人能正确使用db事务的,所以需要Aop。

况且我认为,不要去找缺点,应该看长处,使用长处而不是用短处去碰别人的长处,这个《田纪赛马》的故事就解释了的。

看到最近论坛里面这么多人说xx的缺点是什么yy?这样才是人云亦云。更希望看到spring不适合做什么更好!

我项目中引入spring的理由:
  • 大家都会写类,不用关心怎样new
  • 各种服务很贴心:调度(同步或异步)、app事件、事务处理
  • IoC
  • MVC简单
  • jdbc封装

上周做的一个storm实时计算项目中,就后悔没有用spring(如果此项目还有后续需求,就准备改版为spring的了,实际上关键就3个部分:取ftp数据、规则判断、发送短信并记录):
  • bean的管理没有spring的优势(用的serviceLocator)
  • 数据库查询不顺手
  • 线程调度、app事件都需要,但是离开spring的实现比较麻烦


项目中我不用hibernat:
  • 不需要跨库
  • 业务就是查询
  • spring-jdbc基本能满足需求
0 请登录后投票
   发表时间:2013-07-23  
针对第2,3点说一下.

关于AOP, 在实际项目中还是挺有作用的. 因为AOP的切换可以通过注解实现.更加灵活. 我通常会用AOP处理事务和审计日志.

关于spring MVC注解方案方式的Controller. 问题本生不在反射上. 我倒是觉得在初始化时可以做个预处理, 在运行时可以查询缓存. 这样可以避免反射的性能问题.
0 请登录后投票
   发表时间:2013-07-23  
jsjzhou 写道
针对第2,3点说一下.

关于AOP, 在实际项目中还是挺有作用的. 因为AOP的切换可以通过注解实现.更加灵活. 我通常会用AOP处理事务和审计日志.

关于spring MVC注解方案方式的Controller. 问题本生不在反射上. 我倒是觉得在初始化时可以做个预处理, 在运行时可以查询缓存. 这样可以避免反射的性能问题.


脱离业务的技术是不存在的,只有合适的,也没有银弹的存在。

spring中的反射并没直接使用jdk的,已经做了反射的缓存,再者99%的程序,反射不会是瓶颈。。
特别是web应用反射完全不会成为瓶颈。

希望更多讨论:《在XXX项目中,spring用着别扭和不足,为什么?》的讨论。
0 请登录后投票
   发表时间:2013-07-23  
大家多讨论aop方面的谢谢
0 请登录后投票
   发表时间:2013-07-24   最后修改:2013-07-24
zh_harry 写道
liangcoder 写道
还是第一次听说,代码洁癖包括不要引入太多包。。。。

我错了老大!
0 请登录后投票
   发表时间:2013-07-24   最后修改:2013-07-24
quote="zh_harry"]
liangcoder 写道
还是第一次听说,代码洁癖包括不要引入太多包。。。。
我错了老大!


个人也不喜欢引太多包,有时为了用1,2个方法要引入一个jar包,说不定这个jarbao还依赖其它东东,我宁愿自己写一个.
还有发现有用不到的jar包我绝对要从工程里面删除
0 请登录后投票
   发表时间:2013-07-24  
我们公司一直是用servlet+jsp感觉很不错,jsp页面上还可以写代码,真心美观。
0 请登录后投票
   发表时间:2013-07-24  
我真心笑了
0 请登录后投票
   发表时间:2013-07-24  
AOP不止用于事务,AOP拦截器,实现方法调用的日志记录,spring的AOP注解缓存,灵活方便,AOP的作用很大,我也很喜欢用
0 请登录后投票
   发表时间:2013-07-24  
大家多讨论aop方面
0 请登录后投票
论坛首页 Java企业应用版

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