知识大全 Spring Framework 的理解
Posted 可维护性
篇首语:但使书种多,会有岁稔时。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring Framework 的理解相关的知识,希望对你有一定的参考价值。
Spring Framework 的理解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Spring Framework 的理解以及可维护性是否得以改善的思考
Spring的特性
提供了一种管理对象的方法 可以把中间层对象有效地组织起来 一个完美的框架 黏合剂
采用了分层结构 可以增量引入到项目中
有利于面向接口编程习惯的养成
目的之一是为了写出易于测试的代码
非侵入性 应用程序对Spring API的依赖可以减至最小限度
一致的数据访问介面
一个轻量级的架构解决方案
对Spring的理解
Spring致力于使用POJOs来构建应用程序 由框架提供应用程序的基础设施 将只含有业务逻辑的POJOs作为组件来管理 从而在应用程序中形成两条相对独立发展的平行线 并且在各自的抽象层面上延长了各自的生命周期
Spring的工作基础是Ioc Ioc将创建对象的职责从应用程序代码剥离到了框架中 通常 中注入方式 setter 和 ctor参数
每个Bean定义被当作一个POJO(通过类名和JavaBean的初始属性或构造方法参数两种方式定义的Bean)
Spring的核心在 springframework beans 更高抽象层面是BeanFactory BeanFactory是一个非常轻量级的容器
关于可维护性的思考
Spring之类的技术确实带来了应用系统的可维护性的提高吗?
Ioc AOP之类的技术 本质上都是将原本位于应用程序代码中 硬编码 逻辑 剥离出来放到了配置文件中(或者其他形式) 主流声音都是认为提高了应用程序的可维护性
但如果从以下方面观察 结合项目实际经验 个人感觉这些技术的应用大大降低了应用程序的可维护性 尤其是面对一个陌生的系统 或者项目人员变动频繁的时候
中断了应用程序的逻辑 使代码变得不完整 不直观 此时单从Source无法完全把握应用的所有行为
将原本应该代码化的逻辑配置化 增加了出错的机会以及额外的负担
时光倒退 失去了IDE的支持 在目前IDE功能日益强大的时代 以往代码重构等让人头痛的举动越来越容易 而且IDE还提供了诸多强大的辅助功能 使得编程的门槛降低很多 通常来说 维护代码要比维护配置文件 或者配置文件+代码的混合体要容易的多
调试阶段不直观 后期的bug对应阶段 不容易判断问题所在
cha138/Article/program/Java/ky/201311/28692相关参考
知识大全 Spring MVC framework深入总体分析
SpringMVCframework深入总体分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
用Springframework实现定时器功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 采
Spring入门之理解Spring的打包方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 获取
对Spring中接口注入的理解实例分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Type接
问题 问题想要添加日志记录性能监控安全监测 最初解决方案 最初
知识大全 spring在web.xml中和在struts中的不同配置
Spring中WebApplicationContext的研究 ApplicationContext是Spring的核心Context我们通常解释为上下文环境我想用容器来表述它更容易理解一些Ap
通过依赖注入来从不同的部门获取数据借助其来理解Spring的IOC [java] packagexliocdemo; publicinterfaceDataManagement //使用该
Framework创建文件方式不同之处 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
.NETFramework概要 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! NETFramew
.NETFramework概述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! NETFramew