Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 320|回复: 0

[Java基础知识]不使用Spring的5个理由

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-2 11:46:06 | 显示全部楼层 |阅读模式
    【译者按】这几天,TSS上的一篇热文,讨论者众多,特翻译,水平有限,望多指正。

    原文地址:http://gorif.wordpress.com/2007/07/01/5-reasons-why-i-think-i-will-not-use-spring/

    我不愿使用Spring有几个理由:

    1. Spring的配置臃肿
         我的项目组在开发一个企业级应用时,使用了依赖注入框架。这个项目中,有1500多个类,并且分散在超过11个的模块里。
    以我在实际开发中的经验,我们创建出的service对象应该少于依赖他们的其他对象。如果我们使用了Spring框架,当我们创建需要依赖100个service对象的1000个action对象时,这就意味者我们要对这1000个bean做配置工作。
    如果action的数量还在不断增加,这项工作将变得更加糟糕。我们试图重构一些东西、而又不愿破坏已有的代码,就必须加倍小心。
    你或许想到了通过类型(byType)来自动绑定,哦?这或许不是一个坏主意。可是,为什么不通过名称(byName)来自动绑定呢?可是如果我们对不同的对象做配置就有不同的名称,这听上去很容易让人糊涂,那样的话,我猜你又得在办公室里度过漫漫长夜了。

    2. XML文件配置痛苦
          XML配置痛苦,这个痛苦不是说编写它有多复杂,更多是指其维护性。
    如果你有1000个action,你需要对在配置中放置什么和如何放置很清楚,你需要有只鹰般锐利的眼睛,你必须不能忘记在改动XML配置时使用工具来查找和替换,否则,这个应用程序会在产品化的时候崩溃。

    3. 如果使用XML配置,你将弱化java强类型检查
         当你开始使用XML配置的时候,你将弱化Java的强大。
         当你幸运地发现注入到bean里的这个对象不是这个bean所需要的,但你必须等待下去直到Spring容器开始启动并且检查依赖关系。在这个时候,你该意识到你犯了个愚蠢的错误。哎!
    一些配置不使用XML,而使用Java类,在Guice里,你可以使用module。如果我们想要灵活性,我们仍然可以通过分离业务逻辑包到另外的包中来达到这点,并且在核心包中,你只需使用Class.forname(”the module class”)。这就是全部所在!

    4. Spring不是轻量级的容器
         不幸地是,Spring不再是轻量级容器。现在,Spring的性能不再是最快的了,已经有很多性能更好的轻量级容器出现了。

    5. Spring是一个希望我们构建松耦合程序的容器
         Spring是一个只是希望我们使用松耦合技术的容器,Spring没有真正地更多关注紧耦合。我非常确定,一旦我们使用除了spring-core.jar的Spring包,这将意味着我们的程序不能离开Spring存活。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-1 17:20 , Processed in 0.358894 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表