自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spring Framework的理解

開發(fā) 后端
本文介紹Spring Framework的理解,以及Spring Framework的特性和可維護性的思考。

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

Spring Framework的特性:
1. 提供了一種管理對象的方法,可以把中間層對象有效地組織起來。一個完美的框架“黏合劑”。
2. 采用了分層結構,可以增量引入到項目中。
3. 有利于面向接口編程習慣的養(yǎng)成。
4. 目的之一是為了寫出易于測試的代碼。
5. 非侵入性,應用程序對Spring API的依賴可以減至最小限度。
6. 一致的數(shù)據(jù)訪問介面。
7. 一個輕量級的架構解決方案。

對Spring Framework的理解

Spring致力于使用POJOs來構建應用程序。由框架提供應用程序的基礎設施,將只含有業(yè)務邏輯的POJOs作為組件來管理。從而在應用程序中形成兩條相對獨立發(fā)展的平行線,并且在各自的抽象層面上延長了各自的生命周期。

Spring的工作基礎是Ioc。Ioc將創(chuàng)建對象的職責從應用程序代碼剝離到了框架中,通常2中注入方式:setter 和 ctor參數(shù)。每個Bean定義被當作一個POJO(通過類名和JavaBean的初始屬性或構造方法參數(shù)兩種方式定義的Bean)。Spring的核心在org.spring framework.beans,更高抽象層面是BeanFactory. BeanFactory是一個非常輕量級的容器。

關于可維護性的思考

Spring之類的技術確實帶來了應用系統(tǒng)的可維護性的提高嗎?Ioc, AOP之類的技術,本質上都是將原本位于應用程序代碼中"硬編碼"邏輯,剝離出來放到了配置文件中(或者其他形式)。主流聲音都是認為提高了應用程序的可維護性。但如果從以下方面觀察,結合項目實際經(jīng)驗,個人感覺這些技術的應用大大降低了應用程序的可維護性,尤其是面對一個陌生的系統(tǒng),或者項目人員變動頻繁的時候。
1. 中斷了應用程序的邏輯,使代碼變得不完整,不直觀。此時單從Source無法完全把握應用的所有行為。
2. 將原本應該代碼化的邏輯配置化,增加了出錯的機會以及額外的負擔。
3. 時光倒退,失去了IDE的支持。在目前IDE功能日益強大的時代,以往代碼重構等讓人頭痛的舉動越來越容易。而且IDE還提供了諸多強大的輔助功能,使得編程的門檻降低很多。通常來說,維護代碼要比維護配置文件,或者配置文件+代碼的混合體要容易的多。
4. 調試階段不直觀,后期的bug對應階段,不容易判斷問題所在。
5. 性能問題。雖說硬件性能日新月異,但是性能也是在不經(jīng)意間一點一點地流失的。從匯編到高級語言,到面向對象,到虛擬機,一直處于這樣的發(fā)展趨勢。

【編輯推薦】

  1. Spring IDE的2.0版的未來計劃
  2. Eclipse下spring配置的應用
  3. 在Spring中裝配bean的基本xml配置
  4. 用Spring framework實現(xiàn)定時器功能
  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-06 18:17:52

SpringAOP理解

2021-05-07 21:32:51

SpringIOC分析

2021-03-10 10:55:51

SpringJava代碼

2023-06-07 15:34:21

架構層次結構

2020-05-21 13:25:43

Spring組件架構

2023-12-05 07:48:23

SpringBoot

2011-05-18 09:47:39

spring

2022-08-02 08:32:21

Spring項目網(wǎng)關

2022-09-28 16:37:59

SpringMVC框架

2022-05-11 07:38:45

SpringWebFlux

2022-08-22 08:04:25

Spring事務Atomicity
點贊
收藏

51CTO技術棧公眾號