Sping框架概述
一、什么是spring框架
spring是J2EE應(yīng)用程序框架,是輕量級(jí)的IoC和AOP的容器框架,主要是針對(duì)javaBean的生命周期進(jìn)行管理的輕量級(jí)容器,可以單獨(dú)使用,也可以和Struts框架,ibatis框架等組合使用。
?
二、架構(gòu)概述
1、輕量級(jí)
Spring 是非侵入性的。也就是說基于 Spring 開發(fā)的應(yīng)用中的對(duì)象可以不依賴于Spring的 API。
2、依賴注入(DI --- dependency injection、IOC)
IOC(Inversion of Control)控制反轉(zhuǎn):其思想是反轉(zhuǎn)資源獲取的方向。傳統(tǒng)的資源查找方式要求組件向容器發(fā)起請(qǐng)求查找資源,作為回應(yīng), 容器適時(shí)的返回資源。而應(yīng)用了 IOC 之后, 則是容器主動(dòng)地將資源推送給它所管理的組件, 組件所要做的僅是選擇一種合適的方式來接受資源。這種行為也被稱為查找的被動(dòng)形式
DI(Dependency Injection) — IOC 的另一種表述方式:即組件以一些預(yù)先定義好的方式(例如: setter 方法)接受來自如容器的資源注入. 相對(duì)于 IOC 而言,這種表述更直接。
在spring中BeanFacotory是IoC容器的核心接口,負(fù)責(zé)實(shí)例化,定位,配置應(yīng)用程序中的對(duì)象及建立這些對(duì)象間的依賴。XmlBeanFacotory實(shí)現(xiàn)BeanFactory接口,通過獲取xml配置文件數(shù)據(jù),組成應(yīng)用對(duì)象及對(duì)象間的依賴關(guān)系。
3、面向切面編程(AOP --- aspect oriented programming)
AOP就是縱向的編程。例如:業(yè)務(wù)1和業(yè)務(wù)2都需要一個(gè)共同的操作,與其向每個(gè)業(yè)務(wù)中都添加同樣的代碼,不如只寫寫一遍代碼,讓兩個(gè)業(yè)務(wù)共同使用這段代碼。spring中面向切面變成的實(shí)現(xiàn)有兩種方式,一種是動(dòng)態(tài)代理,一種是CGLIB,動(dòng)態(tài)代理必須要提供接口,而CGLIB實(shí)現(xiàn)是有繼承。
4、容器: Spring 是一個(gè)容器, 因?yàn)樗⑶夜芾響?yīng)用對(duì)象的生命周期。
5、框架: Spring 實(shí)現(xiàn)了使用簡(jiǎn)單的組件配置組合成一個(gè)復(fù)雜的應(yīng)用. 在 Spring 中可以使用 XML 和 Java 注解組合這些對(duì)象。
6、一站式:在 IOC 和 AOP 的基礎(chǔ)上可以整合各種企業(yè)應(yīng)用的開源框架和優(yōu)秀的第三方類庫 (實(shí)際上 Spring 自身也提供了展現(xiàn)層的 SpringMVC 和 持久層的 Spring JDBC)。
三、優(yōu)缺點(diǎn)
1、框架優(yōu)點(diǎn)
-----輕量級(jí)的容器框架沒有侵入性。
-----使用IoC容器更加容易組合對(duì)象直接間關(guān)系,面向接口編程,降低耦合。
-----AOP可以更加容易的進(jìn)行功能擴(kuò)展,遵循ocp開發(fā)原則。
-----創(chuàng)建對(duì)象默認(rèn)是單例的,不需要再使用單例模式進(jìn)行處理。
spring是J2EE應(yīng)用程序框架,是輕量級(jí)的IoC和AOP的容器框架,主要是針對(duì)javaBean的生命周期進(jìn)行管理的輕量級(jí)容器,可以單獨(dú)使用,也可以和Struts框架,ibatis框架等組合使用。
?
二、架構(gòu)概述
1、輕量級(jí)
Spring 是非侵入性的。也就是說基于 Spring 開發(fā)的應(yīng)用中的對(duì)象可以不依賴于Spring的 API。
2、依賴注入(DI --- dependency injection、IOC)
IOC(Inversion of Control)控制反轉(zhuǎn):其思想是反轉(zhuǎn)資源獲取的方向。傳統(tǒng)的資源查找方式要求組件向容器發(fā)起請(qǐng)求查找資源,作為回應(yīng), 容器適時(shí)的返回資源。而應(yīng)用了 IOC 之后, 則是容器主動(dòng)地將資源推送給它所管理的組件, 組件所要做的僅是選擇一種合適的方式來接受資源。這種行為也被稱為查找的被動(dòng)形式
DI(Dependency Injection) — IOC 的另一種表述方式:即組件以一些預(yù)先定義好的方式(例如: setter 方法)接受來自如容器的資源注入. 相對(duì)于 IOC 而言,這種表述更直接。
在spring中BeanFacotory是IoC容器的核心接口,負(fù)責(zé)實(shí)例化,定位,配置應(yīng)用程序中的對(duì)象及建立這些對(duì)象間的依賴。XmlBeanFacotory實(shí)現(xiàn)BeanFactory接口,通過獲取xml配置文件數(shù)據(jù),組成應(yīng)用對(duì)象及對(duì)象間的依賴關(guān)系。
3、面向切面編程(AOP --- aspect oriented programming)
AOP就是縱向的編程。例如:業(yè)務(wù)1和業(yè)務(wù)2都需要一個(gè)共同的操作,與其向每個(gè)業(yè)務(wù)中都添加同樣的代碼,不如只寫寫一遍代碼,讓兩個(gè)業(yè)務(wù)共同使用這段代碼。spring中面向切面變成的實(shí)現(xiàn)有兩種方式,一種是動(dòng)態(tài)代理,一種是CGLIB,動(dòng)態(tài)代理必須要提供接口,而CGLIB實(shí)現(xiàn)是有繼承。
4、容器: Spring 是一個(gè)容器, 因?yàn)樗⑶夜芾響?yīng)用對(duì)象的生命周期。
5、框架: Spring 實(shí)現(xiàn)了使用簡(jiǎn)單的組件配置組合成一個(gè)復(fù)雜的應(yīng)用. 在 Spring 中可以使用 XML 和 Java 注解組合這些對(duì)象。
6、一站式:在 IOC 和 AOP 的基礎(chǔ)上可以整合各種企業(yè)應(yīng)用的開源框架和優(yōu)秀的第三方類庫 (實(shí)際上 Spring 自身也提供了展現(xiàn)層的 SpringMVC 和 持久層的 Spring JDBC)。
三、優(yōu)缺點(diǎn)
1、框架優(yōu)點(diǎn)
-----輕量級(jí)的容器框架沒有侵入性。
-----使用IoC容器更加容易組合對(duì)象直接間關(guān)系,面向接口編程,降低耦合。
-----AOP可以更加容易的進(jìn)行功能擴(kuò)展,遵循ocp開發(fā)原則。
-----創(chuàng)建對(duì)象默認(rèn)是單例的,不需要再使用單例模式進(jìn)行處理。
2、框架缺點(diǎn):業(yè)務(wù)功能依賴spring特有的功能,依賴與spring環(huán)境。
四、sping開發(fā)環(huán)境搭建
1、下載sping的框架,從中得到需要的jar包
2、配置Spring 的XML文件: 一個(gè)典型的 Spring 項(xiàng)目需要?jiǎng)?chuàng)建一個(gè)或多個(gè) Bean 配置文件, 這些配置文件用于在 Spring IOC 容器里配置 Bean.。Bean 的配置文件可以放在 classpath 下, 也可以放在其它目錄下。
3、編寫處理業(yè)務(wù)代碼,通過spring框架獲取相應(yīng)的bean實(shí)例。
轉(zhuǎn)載于:https://www.cnblogs.com/kangsir/p/6653249.html
總結(jié)
- 上一篇: javascript时间戳转日期格式以及
- 下一篇: sping框架介绍