1. 程式人生 > >Spring架構簡析

Spring架構簡析

Spring框架總體架構圖

在這裡插入圖片描述

由此可以看出Spring的核心元件為Bean、Context和Core,它們是Spring架構的基礎,AOP、Web、Transaction是建立在這基礎之上的

  1. Spring設計核心理念

    • Spring實際上是面向Bean的程式設計,因此Bean才是Spring中的主角,真正的核心。

    • Bean在Spring中的作用就像Object對OOP的意義一樣,沒有物件的概念就沒有面向物件程式設計,Spring中沒有Bean也就沒有Spring存在的意義

    • Spring流行起來的原因是因為Spring解決了一個非常關鍵的問題,Spring可以通過配置檔案的方式將物件之間的依賴關係進行管理,也就是DI(依賴注入機制),而這個注入關係在IOC容器中進行管理,因此IOC容器中就是被Bean包裹的物件,Spring正是通過把物件包裝中Bean中從而來達到對這些物件的管理以及一些額外操作的目的

    • Spring的設計策略和Java類似,當然Java本身的設計要比Spring複雜太多,但都是構建一個數據結構,然後根據這個資料結構設計它的生存環境,並讓它在這個環境中按一定的規律不停的運動,在它們的不停運動中設計一系列與環境或者其他個體完成資訊交換。想想其他框架應該都是類似的設計理念。

  2. 核心元件如何協同工作

    • 把Spring比作一個舞臺劇的話,Bean就是其中的演員,Context是舞臺背景,Core是演出的道具。當然有最基本的條件還不能使這場演出脫穎而出,還要他表演的節目足夠的精彩,這些節目就是 Spring 能提供的特色功能了
    • 我們知道Bean包裝的是Object,而Object必然有資料,如何給這些資料提供生存環境就是Context要解決的問題,對Context來說,他要發現每個Bean之間的關係,為他們建立這種關係並且維護好這種關係,所以Context是Bean關係的集合,這個關係集合又叫IOC容器,一旦建立其這個IOC容器後,Spring就可以工作了。
    • Core元件有什麼用處呢?Core其實就是發現、建立和維護Bean之間的關係所需要的一些列的工具

https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/index.html