javascript
Spring(一)——总体介绍
前邊講述了用于處理數據流程的Struts2的框架,和用于操作數據的IBatis持久層框架,這篇博客開始總結一下Spring框架,是進行對象管理,對象關聯,解耦的一個中間層框架。SSH(Struts+Spring+Hibernate)三大Spring在中間就起著一個承上啟下的作用。好,首先我們先來看一下Spring框架的一些知識點,通過下邊這張圖來總括一下:
? ? ? ? ?好,這篇博客咱們先來對Spring框架進行一個初步的了解。
? ? ? ? ??一,框架介紹:
????????? 1,先看一下幫助文檔的這張圖,里邊主要包括了Spring自身的功能,還有可以和其框架結合的一些框架,通過這張圖可以看出,Spring框架和其他框架的集成能力是非常強的。
? ? ? ? ? 2,Spring是一個輕量級的IOC和AOP容器框架:
???????????????? a,輕量級:程序實現不是很復雜,代碼不是很多,占用資源不是很多,沒有侵入性;
???????????????? b,IOC(Inversion of Control?控制反轉):對象創建責任的反轉(重點,核心);
???????????????? c,?Aop(Aspect Oriented Programming):一種面向橫切面編程的思想方式,可以進行功能性擴展,看前邊的一篇轉載的博客:面向橫切面(AOP)編程
???????????????? d,容器:可以容納對象,并且可以控制對象的生命周期;
?
?
? ? ? ? ?二,看一下使用步驟吧!(框架用多了,感覺步驟都大同小異)
????????????? 1,還是拷貝jar包:
? ? ? ? ? ? ?2,拷貝框架的核心配置文件,存放在src目錄下:
? ? ? ? ? ? 3,編寫框架的核心配置文件,將聲明對象都交給Spring框架來創建,以及初始化,例如service層的類,action層類,dao層類等等,都可以交給Spring進行管理,看一個例子:
? 分析:a,框架創建對象的方式:
???????????????????框架默認創建對象是單例的:scope="singleton"
???????????????????當然action我們想要多例創建,需要設置:scope="prototype"
????????????? b,工廠BeanFactory,,如果使用BeanFactory來加載Spring配置文件,那么是在調用getBean時,框架調用對象的默認構造方法來創建對象。BeanFactory功能是對bean對象的生命周期進行管理的。(創建,初始化,銷毀)。
???????????? c,ApplicationContext(推薦,也是框架默認的)
???????????????來用才對象來加載Spring配置文件,會在加載時解析配置文件,創建對象,而不是在getBean時創建。其實,ApplicationContext接口繼承了BeanFactory,所以具備BeanFactory所有功能,同時增加擴展的功能,例如加載資源配置文件,國際化支持等!
?
? ? ? ? ?4,如何測試,這里我們可以使用Junit(java的單元測試進行測試)(我們現在是單獨使用Spring為了是學習,后邊會集成多個框架的)
?
??a,先看一下Junit單元測試的使用方法:Junit4詳解
?
? ?b,利用beanFactory加載配置文件:
[java]?view plaincopy print?? ??c,??利用ApplicationContext加載配置文件:
[java]?view plaincopy print?? ? ? ? ? ? ??這就是Spring的簡單使用步驟,當然還有配置文件的如何編寫,Aop的使用等,后邊會介紹到。
?
?
? ? ? ? ? ?三,Sping框架的優缺點:
? ? ? ? ? ? ? ? ? ?優點:
- 輕量級的容器框架,沒有侵入性
- IoC更加容易組合對象之間的關系,通過面向接口進行編程,可以低耦合開發。
- 易于本地測試(Junit單元測試,不用部署服務器)
- AOP可以更加容易的進行功能擴展,遵循OCP開發原則。
- Spring默認對象的創建為單例的,我們不需要再使用單例的設計模式來開發單體類。
- Spring的集成很強大,另外可以對其他框架的配置進行一元化管理。
- Spring的聲明式事務的方便使用。
?
? ? ? ? ? ? ? ? ??缺點:
? ? ? ? ? ? ? ? ? ??自我感覺是所有框架共有的,就是開發對設計要求較高,集成測試麻煩,對框架有一定的依賴性。
?
?
?????????總而言之,Spring框架功能是非常強大的,單獨使用可能感覺不是很深,和其他的框架結合使用,就會張顯她的魅力了。
from:?http://blog.csdn.net/liujiahan629629/article/details/20735407
總結
以上是生活随笔為你收集整理的Spring(一)——总体介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【前端开发系列】—— 文字阴影与样式
- 下一篇: Spring(二)——IoC