spring框架學(xué)習(xí)方法介紹
Spring框架是由于軟件開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。下面跟著小編一起來(lái)看看spring框架學(xué)習(xí)方法。
spring框架學(xué)習(xí)方法
針對(duì)Spring的學(xué)習(xí),第一步就是理解IoC和AOP,這可以說(shuō)是基礎(chǔ)。
IoC控制反轉(zhuǎn),對(duì)象創(chuàng)建責(zé)任的反轉(zhuǎn)。我們知道,Spring中的BeanFacotory是IoC容器的核心接口,負(fù)責(zé)實(shí)例化、定位、配置應(yīng)用程序中對(duì)象及監(jiān)理這些對(duì)象間的依賴。XmlBeanFacotory實(shí)現(xiàn)BeanFactory接口,通過(guò)獲取xml配置文件數(shù)據(jù),組成應(yīng)用對(duì)象及對(duì)象間的依賴關(guān)系。
順便說(shuō)一下,在Spring中有三種注入方式,第一種是set注入,第二種是接口注入,還有一種是構(gòu)造方法注入。
AOP面向切面編程,也就是縱向的編程。在OOP面向?qū)ο蟮氖褂弥?,無(wú)可避免的會(huì)出現(xiàn)代碼重復(fù),而且使用面向?qū)ο蟮木幊谭绞?,這種重復(fù)無(wú)法避免,比如用戶權(quán)限判斷中,根據(jù)相應(yīng)的權(quán)限執(zhí)行相應(yīng)的方法;在servlet中設(shè)置編碼格式時(shí),同樣相同的代碼出現(xiàn)很多次,而且還根業(yè)務(wù)無(wú)關(guān),很容易忘記寫(xiě),結(jié)果運(yùn)行的時(shí)候就出現(xiàn)亂碼拉。這種重復(fù)代碼不僅使編碼麻煩,而且還不容易維護(hù)。而AOP則將這些代碼整理起來(lái),將解決某個(gè)切面問(wèn)題的代碼單獨(dú)的放在某個(gè)模塊中,然后再織入到程序中。
Spring框架中AOP的使用步驟,第一步拷貝jar包,第二步spring配置文件中增加命名空間和約束文件,第三步寫(xiě)被代理的類(lèi)和擴(kuò)展類(lèi)第四步由配置文件聲明。
弄清楚了IoC和AOP之后,要學(xué)習(xí)的是SpringMVC。想要弄清楚Spring是怎么配置的,就要學(xué)會(huì)Servlet和JSP。學(xué)習(xí)Servlet是一定不能省的,現(xiàn)在流行的SpringMVC和Struts2都是基于Servlet的,Servlet是MVC模型最為基本的表現(xiàn)形態(tài)。只有深入了解Servlet才能理解后邊的新技術(shù)。
我們?cè)跒g覽器點(diǎn)擊鏈接和按鈕產(chǎn)生的消息不是發(fā)送給Servlet的,而是發(fā)送給web容器的。Web容器接收消息后轉(zhuǎn)交給Servlet處理。而web容器和Servlet的交流依賴于Servlet接口。Servlet是一種接口規(guī)范,所以只要我們編寫(xiě)的Java類(lèi)符合Servlet規(guī)范,那么就能被Web容器識(shí)別并被容器管理。Servlet容器通過(guò)向方法的參數(shù)賦值HttpServletRequest或者HttpServletResponse傳遞來(lái)實(shí)現(xiàn)請(qǐng)求和響應(yīng)。
JSP是面向服務(wù)器的。我們?cè)趯?xiě)JSP時(shí)預(yù)設(shè)客戶端是瀏覽器,JSP就是一個(gè)Servlet。
Spring框架
1.什么是spring框架
spring是J2EE應(yīng)用程序框架,是輕量級(jí)的IoC和AOP的容器框架,主要是針對(duì)javaBean的生命周期進(jìn)行管理的輕量級(jí)容器,可以單獨(dú)使用,也可以和Struts框架,ibatis框架等組合使用。
2.架構(gòu)概述
1)IoC(Inversion of Control)控制反轉(zhuǎn),對(duì)象創(chuàng)建責(zé)任的反轉(zhuǎn),在spring中BeanFacotory是IoC容器的核心接口,負(fù)責(zé)實(shí)例化,定位,配置應(yīng)用程序中的對(duì)象及建立這些對(duì)象間的依賴。XmlBeanFacotory實(shí)現(xiàn)BeanFactory接口,通過(guò)獲取xml配置文件數(shù)據(jù),組成應(yīng)用對(duì)象及對(duì)象間的依賴關(guān)系。
spring中有三種注入方式,一種是set注入,一種是接口注入,另一種是構(gòu)造方法注入。
2)AOP面向切面編程
aop就是縱向的編程,如下圖所示,業(yè)務(wù)1和業(yè)務(wù)2都需要一個(gè)共同的操作,與其往每個(gè)業(yè)務(wù)中都添加同樣的代碼,不如寫(xiě)一遍代碼,讓兩個(gè)業(yè)務(wù)共同使用這段代碼。
spring中面向切面變成的實(shí)現(xiàn)有兩種方式,一種是動(dòng)態(tài)代理,一種是CGLIB,動(dòng)態(tài)代理必須要提供接口,而CGLIB實(shí)現(xiàn)是有繼承。
框架優(yōu)點(diǎn)
輕量級(jí)的容器框架沒(méi)有侵入性
使用IoC容器更加容易組合對(duì)象直接間關(guān)系,面向接口編程,降低耦合
Aop可以更加容易的進(jìn)行功能擴(kuò)展,遵循ocp開(kāi)發(fā)原則
創(chuàng)建對(duì)象默認(rèn)是單例的,不需要再使用單例模式進(jìn)行處理
缺點(diǎn):業(yè)務(wù)功能依賴spring特有的功能,依賴與spring環(huán)境。
spring框架學(xué)習(xí)方法介紹相關(guān)文章:
1.Java架構(gòu)師崗位的基本職責(zé)說(shuō)明
4.系統(tǒng)架構(gòu)設(shè)計(jì)師的基本職責(zé)說(shuō)明