`

论spring的非侵入性

阅读更多
过去写了篇日志
旧系统集成spring
http://japi.iteye.com/blog/257215

想了,spring的非侵入性。

现在系统已经是SSH的了,从SH到SSH就是一个新的开发。

那么什么才是真正的非侵入性呢?
原来的想法就是在加入spring的时候,原系统不需要任何的改变。

但经过系统的改造,发现与心中的想法,差距不是一点点。

到底什么是非侵入性??


看到以前的一个帖子
http://www.iteye.com/topic/38779?page=1

引用
主要是看能不能方便的进行单元测试,高侵入性的框架下面写的代码单元测试起来很困难。例如对比Struts和Webwork就可以知道



引用
我的理解是所谓的‘非侵入’性应该是指代码中对框架的代码的调用多少和依赖程度,像struts和hibernate这样的框架是肯定需要你依赖于它的。因为你的action不得不继承基类action,你不得不调用hibernate的session对象。而像spring这样的框架本身就是为了减少这样的依赖性而实现的‘框架’,它达到这个目的采用的方式正好就是ioc。这也正是spring这个框架区别于其他框架的地方。

        要想做到绝对不依赖于任何的框架是不可能的,除非你什么都去自己’制造‘。而spring框架集成了其他很多的框架,比如hibenrate,struts什么的。它这样做的目的也无非是:要么你不依赖于他们,如果你实在要依赖于他们的话,就让我来依赖他们吧,而你们只需要依赖于我。正所谓’我不入地狱,谁入地狱‘,对于其他框架的繁琐的操作接口和一些版本的冲突spring都试着自己来解决或作出一些‘封装’,来简化我们对其操作的复杂性。

        个人觉得spring的这种设计方式还是非常先进的,只是其自身正在因为这种方式而变得越来越臃肿和庞大。变得不堪重负,因为我们在开发中经常因为不了解其对于其他的框架的集成方式而不知如何解决一些具体的问题。虽然我不依赖于他们了,但是因为中间多了一个你(spring)而让本来简单的事情变得更加的扑朔迷离!!

       个人认为这正是spring在发展过程中需要注意平衡’强大性‘和’简单性‘这二者的挑战极大的地方。因为一不小心它可能就发展成为了一个新的’开发平台‘,而所谓的’非侵入行‘和’简单性‘就又变成了一句空话!!!


看来
非侵入性只是一个去追求的目标,尽量减少代码对框架代码的依赖。
分享到:
评论

相关推荐

    Spring 2.5 Aspect-Oriented Programming

    - **声明式事务管理**:Spring的AOP支持使得事务管理变得简单易用,开发者可以通过简单的配置而不是侵入式的代码来控制事务边界。 - **增强代码可读性和可维护性**:通过将横切关注点从业务逻辑中分离出来,Spring...

    springcloud链路追踪.docx

    Sleuth 支持异步数据收集,确保消息队列中的调用也能被追踪,并且尽量减少对应用的侵入性。 2. 数据存储:追踪数据可以存储在各种存储系统中,如内存、MySQL、Cassandra 或 Elasticsearch。Zipkin 提供了多种存储...

    论文研究 - 互动

    (MV)单独进行测试,并与市售的草甘膦[N-(膦酰基甲基)甘氨酸](GLY)产品结合使用,以控制侵入性葡萄藤,红葡萄[Brunnichia ovata(Walt。)Shinners]和小号爬山虎[Campsis radicans( L.)似乎。 前局]在密西根...

    基于SSM实现的新生报到微信小程序+论文+答辩PPT

    此外,Spring还提供了AOP特性,允许开发者实现非侵入式的横切关注点,如日志、事务管理等。 2. SpringMVC:作为Spring的Web MVC框架,负责处理HTTP请求和响应,提供模型-视图-控制器的架构模式。开发者可以定义控制...

    毕业设计论文SpringBoot健身馆管理系统.docx

    Spring Boot框架的轻量级和无侵入性特点,使得开发过程更加简洁高效。数据库选择MySQL,因其开源免费、性能稳定,可应对大量数据的存储和访问需求。服务器端使用Tomcat,因其轻量级和易于配置,使得系统部署更为简单...

    基于Spring框架的Web系统的研究与应用* (2012年)

    综上所述,Spring框架凭借其轻量级、非侵入式等特点,在Web开发领域展现了极大的潜力。通过对Spring框架的研究与应用,不仅可以提升Web系统的开发效率,还能显著增强系统的可维护性和扩展性。随着Spring框架的不断...

    springBoot防疫物资管理信息系统及源码数据库和论文

    在实际部署过程中,系统需要考虑硬件环境、网络环境以及安全防护措施,确保系统能够在各种环境下稳定运行,同时具备足够的抗攻击能力,防止非法侵入和数据泄露。 对于源码数据库和论文部分,本系统提供了一套完整的...

    瞿佳松_2020101371026_论文_word_基于springboot的音乐播放器系统 .docx

    - **非功能性需求**:系统性能(如响应时间)、安全性、可用性等。 2. **系统架构设计**: - **后端架构**:使用Spring Boot搭建后端服务,集成MyBatis Plus进行数据库操作。 - **前端架构**:使用Vue.js构建...

    政务大厅管理系统 SSM毕业设计 附带论文.zip

    系统应该具备防止数据泄露和非法侵入的能力,确保公民个人信息的安全。同时,系统的设计和实现都应该遵循国家相关法律法规和行业标准,确保系统的合法合规运营。 政务大厅管理系统 SSM毕业设计是一个综合性的实践...

    Green手机广告投放系统设计与实现参考.pdf

    用户需求主要关注广告的个性化、非侵入性和隐私保护;业务需求涉及广告的投放策略、计费模式和效果评估;技术需求则包括系统的稳定性、安全性以及高性能处理能力。后续章节可能涉及系统设计、实现、测试和性能评估,...

    OA权限管理系统的论文开题报告

    随着系统规模的扩大,如何确保合法用户能访问其应得的功能,防止非授权用户侵入,以及对特定流程实施身份验证,成为关键。B/S(Browser/Server)架构下的权限管理尤为重要,因为它依赖于公共的浏览器,需要一个强大...

    毕业设计论文SSM航司互售系统.docx

    同时,该系统还注重了数据的安全性与系统的稳定性,确保用户和商家的数据安全,防止信息泄露和非法侵入,为用户提供了安全、便捷的网络服务环境。 本文设计的基于SSM架构的航司互售系统不仅响应了现代社会对高效...

    J2EE二手商品网上交易平台系统的设计与实现毕业论文.docx

    Spring是一个轻量级的、非侵入式的框架,提供了一个灵活的、可扩展的框架来开发企业级应用程序。Spring架构主要包括Bean容器、AOP、MVC等组件。 2.3.Hibernate架构 Hibernate是一个基于J2EE的ORM(Object-...

    毕业设计论文Java+SSM简易版营业厅宽带系统.doc

    SSM框架整合了Spring框架轻量级和无侵入性的优点,SpringMVC框架用于处理Web层的请求,而MyBatis则实现了数据层的动态SQL和存储过程的集成。Java语言以其跨平台的特性,成为了开发大型商业网站的首选编程语言,而...

    毕业设计论文Java+SSM小学生课外知识学习网站.doc

    安全性保障要求网站能够有效保护用户数据和隐私,防止不良信息的侵入。而易维护和扩展的后台管理模块则为网站的长期运营提供了技术支持和可能。 此外,随着前端技术的不断发展,如Vue等现代化前端框架的应用也逐渐...

    基于Java的视频会议系统(程序+论文).rar

    9. **分布式系统设计**:对于大规模的视频会议系统,可能需要分布式架构来分担负载,这涉及到负载均衡、服务发现、容错恢复等高级概念,Java的微服务框架如Spring Boot和Spring Cloud可以帮助实现这些。 10. **论文...

    毕业设计论文Java+SpringBoot鲜牛奶订购系统.doc

    Spring Boot框架的引入进一步简化了开发流程,提高了开发效率,其自动配置、无代码生成和无侵入式的特点,使得开发人员能够更加专注于业务逻辑的实现。 系统的开发采用了前后端分离的架构模式,前端负责展示用户...

Global site tag (gtag.js) - Google Analytics