Spring學習 1 Spring是什麼

2021-09-07 20:01:01 字數 2410 閱讀 2431

我們可以對上面的這張圖中的元件分別說明

1、核心容器(core):核心容器提供 spring 框架的基本功能(spring core)。核心容器的主要元件是 beanfactory,它是工廠模式的實現。beanfactory 使用控制反轉(ioc) 模式將應用程式的配置和依賴性規範與實際的應用程式**分開。

2、spring 上下文(jee):spring 上下文是乙個配置檔案,向 spring框架提供上下文資訊。spring 上下文包括企業服務,例如jndi、ejb、電子郵件、國際化、校驗和排程功能。

3、spring aop:通過配置管理特性,spring aop 模組直接將面向切面的程式設計功能整合到了 spring 框架中。所以,可以很容易地使 spring 框架管理的任何物件支援aop。spring aop 模組為基於 spring 的應用程式中的物件提供了事務管理服務。通過使用 spring aop,不用依賴 ejb 元件,就可以將宣告性事務管理整合到應用程式中。

4、spring dao:jdbcdao抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同資料庫**商丟擲的錯誤訊息。異常層次結構簡化了錯誤處理,並且極大地降低了需要編寫的異常**數量(例如開啟和關閉連線)。spring dao 的面向 jdbc 的異常遵從通用的 dao 異常層次結構。

5、spring orm:spring 框架插入了若干個orm框架,從而提供了 orm 的物件關係工具,其中包括jdo、hibernate和ibatissql map。所有這些都遵從 spring 的通用事務和 dao 異常層次結構。

6、spring web 模組:web 上下文模組建立在應用程式上下文模組之上,為基於 web 的應用程式提供了上下文。所以,spring框架支援與 jakarta struts 的整合。web 模組還簡化了處理多部分請求以及將請求引數繫結到域物件的工作。

一句話概括就是:spring是乙個輕量級的控制反轉(ioc)和面向切面(aop)的容器框架。

這句話我們需要注意到其中的這幾點

輕量,簡而言之就是小;乙個完整的spring的框架可在乙個只有1mb大小的jar檔案中發布,同時,對spring的處理開銷也是非常小的

spring通過一種稱作控制反轉(ioc)的技術促進了松耦合。當應用了ioc,乙個物件依賴的其它物件會通過被動的方式傳遞進來,而不是這個物件自己建立或者查詢依賴物件。你可以認為ioc與jndi相反——不是物件從容器中查詢依賴,而是容器在物件初始化時不等物件請求就主動將依賴傳遞給它。

舉個列子:「我「充當乙個入口類,在這個入口類中,我每次吃飯的時候都要買一雙一次性筷子(每一次使用都要new一次),在這樣的關係下,是」我「(即呼叫者)每次都要」主動「去買一次性筷子(另乙個類),我對筷子說你老老實實的過來我的手上,是我控制了筷子,那好,在這種控制正轉的關係下,放在現實生活當中,肯定是不現實的,而且人是懶惰的,他總會去創造出更加方便自己生活的想法,更確切的做法是,買一雙普通的筷子(非一次性),把他放在乙個容器當中(在spring中叫做ioc容器),你需要使用的時候就對容器說:ioc我想要用筷子(向容器發出請求),接著筷子就會」注入「到的手上,而在這個過程當中,你不再是控制方,反而演變成一名請求者(雖然本身還是呼叫者),依賴於容器給予你資源,控制權坐落到了容器身上,於是這就是人們俗稱的控制反轉

spring提供了面向切面程式設計的豐富支援,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用物件只實現它們應該做的——完成業務邏輯——僅此而已。它們並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支援。

這裡也舉乙個列子:;用切西瓜舉列面向切面的三部曲

1.我們首先需要一把菜刀,也就是我們的切面,然後在這把菜刀(切面)上進行面向切面程式設計,也就是寫各種方法

2.乙個西瓜,這個西瓜就相當於物件;我們要切西瓜,肯定需要先找乙個地方下刀,而這個下刀的地方就是我們在配置檔案中配置好的相應的切點

3.接下來就是切了,當我們把菜刀(切面)切進西瓜(物件)中時,菜刀(切面)就變成了西瓜(物件)的一部分,程式執行的時候便會將這兩者視為一體的,就一起執行了;

這就是所謂的面向切面

容器我們說的通俗易懂一點,在專案中我們都會用到bean,而spring容器就是乙個bean工廠(beanfactory).應用中bean的例項化,獲取,銷毀等都是由這個bean工廠管理的.

spring可以將簡單的元件配置、組合成為複雜的應用。在spring中,應用物件被宣告式地組合,典型地是在乙個xml檔案裡。spring也提供了很多基礎功能(事務管理、持久化框架整合等等),將應用邏輯的開發留給了你。

這裡就簡單的介紹一下spring

Spring專題(1) Spring概述

我們學習spring框架的最終目的是用它整合struts2 hibernate框架 ssh spring框架主要負責技術整合 可以整合很多技術 該框架提供ioc和aop機制,基於這些特性整合,可以降低系統元件之間的耦合度,便於系統元件的維護 擴充套件和替換。其實與spring框架的作用相同 在ssh...

1 spring入門 概述

學習方法 掌握常用的用法,深入理解,不斷實踐,反覆總結,再次深入理解與實踐 spring資源 sprng是乙個輕量級的控制反轉 loc 和物件導向切面 aop 的容器框架 輕量 大小,開銷輕量 通過loc打到松藕合 提供了面向切面變成的豐富支援,允許通過分離應用的業務邏輯與系統級服務進行內聚性的開發...

事務1 spring 事務支援

當你涉及到兩個其他業務方法一起繫結為乙個業務操作的時候,例如乙個atm取款的簡單操作 atm機器吐錢2和更新你帳戶存款就是乙個取錢的主要操作,它就需要要求如果兩者都成功,即 一起提交,如果有一者失敗,即回滾該兩個操作,這種時候就需要事務了。b size medium 一 事務的特性 原子性 一致性 ...