主页>技术社区>IT 技术与微软技术>编程开发>JAVA>Java 开源技术>Java Spring

我为什么没有使用Spring

eIT.com.cn 2019/5/13 14:18:34 阅读 9 次

打印


  在这里,Spring指的是Spring开发框架,一种依赖注入容器的实现。首先,我声明我没有一点冒犯Rod的意思(你是个优秀的人)。但是坦白地说,我不能狂热的追随您的开发框架。更为严重的是,我注意到,我所考虑的这些可能对于Spring框架的使用率来说是危险的,并且有可能降低对Spring框架的使用率。我读到一个关于Spring的很重要的文章或书籍,看起来好像除了我,所有的人都喜欢Spring。但是我有什么损失吗?可能采用Spring是J2EE一个类似“膝跳反射”的事情(这种事情可以不经过大脑)。“J2EE不是好东东,Spring的人说他们的产品更好一些,所以Spring一定是好的”但是事情并不是那样的。

第二点,我仅仅讨论Spring,而不讨论依赖注入。我喜欢依赖注入,并且每天都使用它。它是一个摆脱service locators的好方法。
我记不得有多少次有开发者对我说,“我的上一个项目使用了Spring,这个框架真好”。但是没有人能清楚明白的说出他们究竟喜欢Spring的哪一点,Spring到底帮助了他什么。所以我敢说,他们喜欢setter注入,这使得他们的代码更加灵活和可测;但并不一定必需Spring。我猜有些人并没有彻底理解依赖注入,所以他们依赖Spring来帮助(或者强迫?)他们使用依赖注入。然而,这种好处并没有在量上大于Spring在你的代码上带来的负面影响,这些负面相应在下面的清单上。


Spring的狂热者公开的指责J2EE,但是从他们的指责中,我可以说,Spring实际上既不是轻量级也不简单。Javadocs未必是必要的,但是这一切都要怪罪于一个用户API吗?最起码J2EE清晰的将API和它们的实现分离开来。Spring的鼓吹者吹捧Spring不会“动”你的代码,例如,你不必去实现任何的Spring指定的接口(生命周期接口除外等等)。新闻特写,“XML配置文件是我们自己的代码,通过它,我们能组织起很多的代码,这些代码都是Spring给定的”
为什么我一定要把我所有的依赖使用XML文件来表达?我是需要把我所有的对象都用Spring来处理,还是仅仅一些没有考虑成熟的?上面我所说的这些问题,Spring文档没有给出一些可靠的答案,而且所有的Spring书籍也没有给出。我假定我们使用Spring是为了产生所有的对象。那么这样还是我们喜欢的Java编程吗?我希望在编译期和随后的装载期能够确定这些对象,而不是在运行我的代码的时候才能够确定。Spring能做到支持这些吗?
很明显,我希望装载一些像JDBC驱动这样的动态实现的依赖(即不要求编译期的检测);但是在我的系统中,这样的依赖只是一小部分;而剩下的部分,我们代码的绝大部分却不是。我是在使用一种强类型的语言。如果我希望像Spring那样,我会使用Ruby。难道Spring的配置文件不像是我们在猜测着将Java代码写入XML文件里吗?难道那些使用Spring的开发者使用起Java来不那么舒服?我确信增加了一个XML层并不能使得代码变得哪怕是一点点简单。
来源:收集整理于互联网





相关内容

• Spring自动代理机制 (2019/5/13 14:21:59)
• SpringSecurity学习总结一 (2019/5/13 14:21:59)
• SpringSecurity学习总结二 (2019/5/13 14:21:59)
• Spring3.0新特征-RestfulsupportMVC (2019/5/13 14:21:59)
• SpringAutowire(自动装载)的一次实践 (2019/5/13 14:21:59)
• SpringSecurity2资源-角色查找源码研究及性能改进 (2019/5/13 14:21:59)
• Spring操作Hibernate更方便 (2019/5/13 14:21:59)
• SpringMVC中的新特性 (2019/5/13 14:21:59)
• SpringAOP用annotation来实现 (2019/5/13 14:21:59)
• spring核心包介绍 (2019/5/13 14:21:59)



热门栏目


特别声明


最新资讯
热讯排行
关于我们 | 联系我们 | 合作媒体 | 使用条款 | 隐私权声明 | 版权声明
      Copyright © Phontol. All Rights Reserved.