abcbuzhiming 2014-11-06 09:28 采纳率: 0%
浏览 1071
已采纳

spring的核心作用到底是什么

我没有使用过sun官方的那堆重量级j2ee架构,知道j2ee是从ssh开始,用了这么长回见,包括研究源码后,我赫然发现对于spring,我往往只用到了它的两个功能,依赖注入和事务管理,可是依赖注入的原理我都搞明白,手动注入又有啥不可以,虽然说手动注入有耦合问题,但是spring的注入并不是很灵活,尤其是需要临时生成某个属性参数的场合。不用spring进行事务管理,很多数据库中间件自己的模板管理的也不错,那spring还有什么存在的意义。spring这东西当初到底为了啥被发明出来的

  • 写回答

5条回答 默认 最新

  • zuoshang 2014-11-06 11:16
    关注

    用了这么长时间Spring,我已经将依赖注入看的比较淡了,我更看重Spring在Java领域的整合能力。
    依赖注入最早的目的就是解耦,包括事务管理也是为了解耦,所谓解耦说白了就是替换底层时,上层代码无需修改。说的专业就是,上层代码不关心底层的实现,接口对接好就ok。但实际上,底层替换这种事情,一般人在有生之年估计都遇不到一次,呵呵。
    所以我喜欢的依赖注入,是因为它帮我管理了单例,我不用去纠结自己写懒汉式单例,还是饿汉式单例,甚至牛逼的枚举式单例。至于spring提供bean的多实例,从来不用,和我自己new没什么区别。 这里应该说明了你的“手动式注入”吧。

    我更看中spring的整合能力,现在凡是java领域比较火的工具和方向,基本spring都会插一脚。开个玩笑,spring嫌大多数人代码写的太丑,说算了算了你们干脆都配在我的xml里吧,然后用我提供的xxxTemplate方法简单传几个参数,就能发JMS、发webservice、插数据库、存缓存、批处理等等等,呵呵 :D 。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥30 使用C++实现ATM系统
  • ¥20 求帮,直连能连上oracle12,但是thinkphp6就是报错
  • ¥15 paddleocr运行报错
  • ¥15 怎么用 matlab 设计滞后-超前串联校正网络
  • ¥15 MFC引用C#生成的dll,将dll放置到非exe程序目录,如何操作
  • ¥15 C#创建webservice接口,三方通过多次跳转访问本方服务,获取wsdl文档,wsdl中ip地址为局域网内本机地址而非三方直接访问的地址。
  • ¥15 关于#wireshark#的问题:需要安卓app流量数据集要安卓流量做包序列长度的实验,比如某些流量是在看视频还是在发评论
  • ¥15 Smail语句如何使用判断语句跳过验证卡密界面
  • ¥15 关于#wireshark#的问题:并且能够给数据做标注,如这个流量是在看视频或者是在转账
  • ¥15 运筹优化,gurobi,python