1. 程式人生 > >spring基礎介紹-個人總結(一)

spring基礎介紹-個人總結(一)

1. 目的

學習任何一門技術都是有原因的,個人還是比較帶著問題去學習。然後通過學習對每個問題進行回答,這樣也就對此技術達到學習目的,只有真正理解,才可以在我們以後的專案中大膽放心的使用。

問題列表:

(1). spring是什麼,何為spring?

(2). 為什麼要使用spring,能幫我們解決什麼問題,能做什麼?

(3).spring的優缺點?

(4).spring的下載?

(5).spring中有哪些技術點?

(6).spring如何在專案中使用,專案實戰?

(7). 技術進階,spring如何實現,實現原理,原始碼分析,技術架構?

(8). 參考資料

2. 回答問題

針對第1節中提出的問題,邊學習邊分別進行解答。

2.1 spring是什麼,何為spring?

spring是在2003年興起的Java EE輕量級、開源框架,為了使java EE專案開發起來簡單而設計的。 Rod Johnson是spring的建立者,他還寫了兩本經典之作《Expert One-on-one J2EE Design and Development》和《Expert one-on-one J2EE Development without EJB》,第一本是在spring之前,根據此書中的思想及原型創造了spring,目的是解決Java EE開發的複雜性;第二本在spring之後,不使用EJB。
spring是分層架構、模組化,開發者可以任意選擇使用的其中部分;Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架;
為什麼說Spring是企業應用開發的“一站式”選擇,因為它貫穿表現層、業務層及持久層。然而,Spring並不想取代那些已有的框架,而是與它們無縫地整合。 總結: 1、Spring是一個輕量級(Lightweight)的容器(Container)。

2、spring是鬆耦合性框架
3、Spring是實現IoC(Inversion of Control)容器和非入侵性(No intrusive)的框架。
4、Spring提供AOP(Aspect-oriented programming)概念的實現方式。
5、Spring提供對持久層(Persistence)、事物(Transcation)的支援。
6、Spring提供MVC Web框架的實現,並對一些常用的企業服務API(Application Interface)提供一致的模型封裝。
7、Spring提供了對現存的各種優秀框架(Structs、Hibernate、Ibatis、Webwork等)相整合的方案。


spring框架整體架構圖

2.2 為什麼要使用spring,能幫我們解決什麼問題,能做什麼?

基於2.1節中講到的spring各種特性,使用spring可以幫助我們在開發Java EE專案中做很多事情。

2.3 spring的優缺點?

優點:

1. 可以使用框架提供眾多服務,如:事物管理、日誌管理、訊息服務等等 2. 降低元件之間的耦合度,實現鬆耦合 3. 支援主流的優秀的框架的整合,如struts、hibernate、ibatis等等

缺點:

1. spring整體框架設計精妙,但也相對複雜,想了解其中實現原理需要花大量時間(個人建議深挖spring原始碼)

2.4 spring的安裝、配置?

1. 下載最新spring jar包。
  • 進入spring的官方網址:http://spring.io/
  • 導航很明確,進入projects
  • 這個就是各個spring版本的下載地址:   http://repo.spring.io/release/org/springframework/spring 而且很清楚的告訴你下載哪個檔案
2. 在專案的lib中引用需要的jar,專案就可以使用spring了

2.5 spring中有哪些技術點?

1. spring beans、Ioc 2. spring context 3. spring Aop 4. spring mvc 5. spring 資料庫整合 6. spring 宣告式事物 7. spring 定時器 8. spring 遠端服務
9. spring security 10. spring 訊息服務

見後面的連載章節

2.6 spring如何在專案中使用,專案實戰?

1. spring+spring MVC+ibatis框架搭建

見後面的連載章節


2.7 技術進階,spring如何實現,實現原理,原始碼分析,技術架構

1. DispatcherServlet的原始碼分析及自己擴充套件 2. AnnotationMethodHandlerAdapter 3. ContextLoaderListener 4. 

見後面的連載章節


2.8 參考資料

1. spring官網地址 https://spring.io/
2. 下載地址 http://repo.spring.io/release/org/springframework/spring/

相關推薦

spring基礎介紹-個人總結()

1. 目的 學習任何一門技術都是有原因的,個人還是比較帶著問題去學習。然後通過學習對每個問題進行回答,這樣也就對此技術達到學習目的,只有真正理解,才可以在我們以後的專案中大膽放心的使用。 問題列

JVM個人總結

模糊 bsp 如果 垃圾收集 深入理解java 一段時間 com 類加載 .com 看了深入理解JAVA虛擬機已經有一段時間了 發現很多東西如果不總結 腦子裏總是沒有一條線貫穿起來,也比較模糊混亂,所以還是有必要利用邏輯思維圖總結下。 JVM看了下 大致比較重要的分內

Spring源碼分析總結()-IOC容器初始化

Spring源碼分析總結一、IOC容器的初始化過程 IOC容器的初始化是由refresh()方法啟動。經常使用的ApplicationContext 有:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext、XmlWebApp

Python基礎常見問題總結()

ecs 字段 避免 定義靜態方法 工作 如果 數位 元組tuple method 1.__ foo 、foo_ 和 __foo__ 三者之間的區別是什麽?__foo表示私有屬性、_foo表示受保護的屬性、__foo__表示Python自帶的屬性 2.請您簡述Python編

HTML基礎知識個人總結

引號 使用 搜索 -c 微軟雅黑 span .cn 版本 dex 【學習的網站是主要是W3school,還加上一些其他搜索學習到的內容,僅在博客做個人整理】 一、標簽——尖括號圍成的關鍵詞,成對出現。 ※使用時必須符合標簽嵌套

Spring基礎總結

des con ans bsp process ebean 修改 b- efault 一、Spring生命周期 * 容器級別生命周期接口方法* ①.實例化BeanFactoryPostProcessor實現類  ::若實現該接口,在Spring容器加載bean的定義文件之後

spring學習總結()_Ioc基礎(上)

最近經歷了許許多多的事情,學習荒廢了很久。自己的目標成了擺設。現在要奮起直追了。最近發現了張果的部落格。應該是一個教師。看了他寫的spring系列的部落格,寫的不錯。於是本文的內容參考自他的部落格,當然都是手打書寫。由於我感覺他寫的部落格篇幅過長。我根據我的習慣進行拆分學習。而且他的文章一系列很清楚。也

Python基礎學習總結(

format 計數 python使用 flat rac 劃線 orm lex 讀取 1、變量和數據類型 1.1變量 1.每個變量都存儲了一個值——與變量相關聯的信息。 2.變量不僅可以為整數或浮點數,還可以是字符串,可以是任意數據類型。 1.1.1變量的命名和使用 變量名只

Spring Data 介紹

tin 可能 動態 javac 行高 spec 增加 核心概念 一個 簡介   Spring Data是什麽       Spring Data是一個用於簡化數據庫訪問,並支持雲服務的開源框架。其主要目標是使得對數據的訪問變得方便快捷 Spring Data JPA能幹什麽

SaltStack介紹——SaltStack是種新的基礎設施管理方法開發軟件,簡單易部署,可伸縮的足以管理成千上萬的服務器,和足夠快的速度控制,與他們交流

con mar stack 通信 class 交流 ast 集中 速度 SaltStack介紹和架構解析 簡介 SaltStack是一種新的基礎設施管理方法開發軟件,簡單易部署,可伸縮的足以管理成千上萬的服務器,和足夠快的速度控制,與他們交流,以毫秒為單位。S

Neo4J圖庫的基礎介紹()

嵌入 模型 數據模型 特性 所有 並且 int 項目 語言 ?Neo4j是一個高性能的,NOSQL圖形數據庫,它完全支持ACID(原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability))數據庫事務屬性,采

2017-2018-1 20155216 《信息安全系統設計基礎》第十周學習總結

速度 linux中 角度 調試 第九周 程序 高速 由於 設計 2017-2018-1 20155216 《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 一、虛擬存儲器的概念和作用 為解決內存小而作業大、作業多的矛盾, 以及執行過程中只是把當前運行需要的那部分程

2017-2018-1 20155218 《信息安全系統設計基礎》第十周學習總結

12個 不執行 賦值 2個 地址空間 兩種 操作符 log 訓練 2017-2018-1 20155218 《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 1. 虛擬存儲器的概念和作用: 為解決內存小而作業大、作業多的矛盾, 以及執行過程中只是把當前運行需要的那

2017-2018-1 20155234《信息安全系統設計基礎》第十周學習總結

ima 以及 .net 一個 osc write 依靠 目標 獨立 20155234第九周《信息安全系統設計基礎》學習總結 教材學習內容總結 第九章 虛擬存儲器 一、虛擬存儲器提供了三個重要能力:   1、將主存看作是一個存儲在磁盤上的地址空間的高速緩存,在主存中只保護活動

2017-2018-1 20155235 《信息安全系統設計基礎》第十周學習總結

tab iis 緩沖區溢出 地址 更新 mar cve 改進 head 2017-2018-1 20155235 《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 第九章 虛擬內存 9.1 物理和虛擬尋址 9.2 地址空間 9.3 虛擬內存作為緩存的工具

2017-2018-1 20155310《信息安全系統設計基礎》第十周學習總結

程序 tab 表現 學習內容總結 數字 ffffff 高速 虛擬存儲器 課件 2017-2018-1 20155310《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 第九章 虛擬存儲器 一、虛擬存儲器提供了三個重要能力:   1、將主存看作是一個存儲在磁盤上的地

# 2017-2018-1 20155319 《信息安全系統設計基礎》第十周學習總結

觸發 條目 是否 並且 數據共享 什麽 處的 ges 好的 2017-2018-1 20155319 《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 一、概述 虛擬存儲器的三個重要能力: - 它將主存看成是一個存儲在磁盤上的地址空間的高速緩存,在主存中只保存活

20155325 2017-2018 1 《信息安全系統設計基礎》第十周學習總結

高效 成本 lock -m cpu 控制 安排 數據 sets 教材學習中的問題和解決過程 問題1:虛擬存儲器的概念和作用 解決: 虛擬存儲器是硬件異常、硬件地址翻譯、主存、磁盤文件和內核軟件的完美交互,它為每個進程提供了一個大的、一致的和私有的地址空間。通過一個很清晰的

2017-2018-1 20155318 《信息安全系統設計基礎》第十周學習總結

會有 ble 腳本 行數 操作系統 耗時 虛擬地址 磁盤文件 map 2017-2018-1 20155318 《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 學習目標 理解虛擬存儲器的概念和作用 理解地址翻譯的概念 理解存儲器映射 掌握動態存儲器分配的方法

# 2017-2018-1 20155224 《信息安全系統設計基礎》第十周學習總結

修改 軟件工程 調用 多個進程 引用 由於 作用 num 總數 2017-2018-1 20155224 《信息安全系統設計基礎》第十一周學習總結 教材學習內容總結 理解虛擬存儲器的概念和作用 理解地址翻譯的概念 理解存儲器映射 掌握動態存儲器分配的方法 理解垃圾收集的概