Spring Framework的理解

开发 后端
本文介绍Spring Framework的理解,以及Spring Framework的特性和可维护性的思考。

Spring Framework的理解以及可维护性是否得以改善的思考

Spring Framework的特性:
1. 提供了一种管理对象的方法,可以把中间层对象有效地组织起来。一个完美的框架“黏合剂”。
2. 采用了分层结构,可以增量引入到项目中。
3. 有利于面向接口编程习惯的养成。
4. 目的之一是为了写出易于测试的代码。
5. 非侵入性,应用程序对Spring API的依赖可以减至最小限度。
6. 一致的数据访问介面。
7. 一个轻量级的架构解决方案。

对Spring Framework的理解

Spring致力于使用POJOs来构建应用程序。由框架提供应用程序的基础设施,将只含有业务逻辑的POJOs作为组件来管理。从而在应用程序中形成两条相对独立发展的平行线,并且在各自的抽象层面上延长了各自的生命周期。

Spring的工作基础是Ioc。Ioc将创建对象的职责从应用程序代码剥离到了框架中,通常2中注入方式:setter 和 ctor参数。每个Bean定义被当作一个POJO(通过类名和JavaBean的初始属性或构造方法参数两种方式定义的Bean)。Spring的核心在org.spring framework.beans,更高抽象层面是BeanFactory. BeanFactory是一个非常轻量级的容器。

关于可维护性的思考

Spring之类的技术确实带来了应用系统的可维护性的提高吗?Ioc, AOP之类的技术,本质上都是将原本位于应用程序代码中"硬编码"逻辑,剥离出来放到了配置文件中(或者其他形式)。主流声音都是认为提高了应用程序的可维护性。但如果从以下方面观察,结合项目实际经验,个人感觉这些技术的应用大大降低了应用程序的可维护性,尤其是面对一个陌生的系统,或者项目人员变动频繁的时候。
1. 中断了应用程序的逻辑,使代码变得不完整,不直观。此时单从Source无法完全把握应用的所有行为。
2. 将原本应该代码化的逻辑配置化,增加了出错的机会以及额外的负担。
3. 时光倒退,失去了IDE的支持。在目前IDE功能日益强大的时代,以往代码重构等让人头痛的举动越来越容易。而且IDE还提供了诸多强大的辅助功能,使得编程的门槛降低很多。通常来说,维护代码要比维护配置文件,或者配置文件+代码的混合体要容易的多。
4. 调试阶段不直观,后期的bug对应阶段,不容易判断问题所在。
5. 性能问题。虽说硬件性能日新月异,但是性能也是在不经意间一点一点地流失的。从汇编到高级语言,到面向对象,到虚拟机,一直处于这样的发展趋势。

【编辑推荐】

  1. Spring IDE的2.0版的未来计划
  2. Eclipse下spring配置的应用
  3. 在Spring中装配bean的基本xml配置
  4. 用Spring framework实现定时器功能
  5. 简单介绍Spring Timer
责任编辑:佚名 来源: 中国IT实验室
相关推荐

2024-02-23 10:33:34

SpringBean容器

2011-12-26 09:17:23

JavaSpring

2009-06-22 11:54:28

Spring MVCSpringframe

2023-01-10 07:52:15

2024-03-04 07:41:18

SpringAOPOOP​

2009-11-23 19:48:50

ibmdwJava

2009-06-18 11:07:17

Spring fram

2019-07-31 10:59:36

2019-07-29 15:15:45

2021-05-07 21:32:51

SpringIOC分析

2021-05-06 18:17:52

SpringAOP理解

2021-03-10 10:55:51

SpringJava代码

2023-12-05 07:48:23

SpringBoot

2020-05-21 13:25:43

Spring组件架构

2023-06-07 15:34:21

架构层次结构

2011-05-18 09:47:39

spring

2022-08-02 08:32:21

Spring项目网关

2022-09-28 16:37:59

SpringMVC框架

2022-05-11 07:38:45

SpringWebFlux

2022-08-22 08:04:25

Spring事务Atomicity
点赞
收藏

51CTO技术栈公众号