Spring
對于網(wǎng)站開發(fā)而言,spring是一個輕量級的管理框架,主要用于管理各個組件之間的關(guān)系。核心功能有ioc和aop
spring創(chuàng)建對象有三種方式:
1、在xml文件中使用bean標(biāo)簽創(chuàng)建對象
2、在xml文件中開啟掃描注解,在類的上面添加對應(yīng)的注釋創(chuàng)建對象,常用的注解有:@component、@controller、@service、@mapper
3、通過配置類的方式創(chuàng)建對象。在類上面加@configuration注解,在需要創(chuàng)建的對象上面加@Bean注解前兩種創(chuàng)建對象的方式是通過反射來創(chuàng)建的,配置類創(chuàng)建對象是程序員自己new出來的
spring使用的設(shè)計模式有工廠模式,代理模式,單例模式,模板方法,觀察者模式
IOC
ioc是控制反轉(zhuǎn),即把用戶管理對象的權(quán)力交給spring容器,spring容器可以創(chuàng)建和管理對象,spring容器默認(rèn)是單例的,在spring容器啟動時自動根據(jù)bean標(biāo)簽通過反射創(chuàng)建對象,所以在多個類中可以復(fù)用一個對象,這樣就可以節(jié)省系統(tǒng)的資源。如果我們想要改變對象的生命周期,可以修改bean標(biāo)簽的scope屬性為prototype,這樣對象的創(chuàng)建就是多例的,只有在調(diào)用getBean的時候才會創(chuàng)建一個對象。
ioc中的重點是di,即依賴注入,可以通過依賴注入的方式管理組件之間的依賴關(guān)系,從而達(dá)到解耦合的目的,取代我們之前的在一個類中創(chuàng)建另一個類的對象的方式。
依賴注入有三種方式:
1、構(gòu)造器注入:利用對象的全參構(gòu)造器給對象的屬性賦值
2、set注入:先調(diào)用對象的無參構(gòu)造器,再通過調(diào)用set方法的方式去給對象的屬性賦值
3、自動注入:自動注入分為兩種,分別是byName和byType,即通過spring工廠中的其他bean標(biāo)簽的id值注入以及根據(jù)bean標(biāo)簽的類型自動注入
AOP
aop是面向切面編程,即我們可以把代碼中重復(fù)冗余的部分單獨拿出來寫在一個通知類中,我們把實現(xiàn)核心功能的方法叫做切點,這個方法所在的類稱作目標(biāo)類,即被代理的類。在xml配置文件中織入切點和通知類組成切面。也可以直接在通知類上加上@aspect注解,這個類可以成為切面,在我們實現(xiàn)通知的方法上面加上@before/@after/@around注解配置切點
通知有五種類型,分別為前置通知,后置通知,返回通知,異常通知,環(huán)繞通知
aop底層是使用動態(tài)代理實現(xiàn)的,默認(rèn)使用的是jdk動態(tài)代理,當(dāng)目標(biāo)類沒有實現(xiàn)接口時,則默認(rèn)使用cglib動態(tài)代理。aop的好處是開發(fā)人員可以專注于實現(xiàn)程序的核心代碼,而那些重復(fù)的固定的代碼可以拿出來集中處理,例如事務(wù)的控制,日志的打印,權(quán)限認(rèn)證等等
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號新時空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號