資源描述:
《Spring課堂筆記》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第一篇:Spring概述1、Spring框架內(nèi)核IoC(InverseOfControl):反轉(zhuǎn)控制。AOP(AspectOrientedProgramming):面向切面編程。2、Spring的體系結(jié)構(gòu)3、Spring開發(fā)所需的資源第二篇:Spring核心之IoC(控制反轉(zhuǎn))1、拷貝核心jar包:2、IoC的概念:3、資源交給Spring管理3.1建立spring的配置文件:a、schema約束文檔資料位置b、schema引入后xml沒有提示的解決方案c、把DAO實現(xiàn)交給Spring容器(Map結(jié)構(gòu))管理3.2從Spri
2、ng容器中獲取資源a、把核心jar包加入到classpath中b、啟動Spring容器4、依賴注入:DI(DependencyInjection)5、Spring核心類或接口核心接口:ApplicationContextClassPathXmlApplicationContext:加載位于classpath中的spring配置文件。FileSystemXmlApplicationContext:加載位于本地磁盤上的spring配置文件。了解:BeanFactory和ApplicationContext獲取Bean的區(qū)別6、
3、Bean的初始化l方式一:使用默認(rèn)的構(gòu)造方法。(推薦,重點)注意:Bean要有默認(rèn)的構(gòu)造方法l方式二:靜態(tài)工廠方法初始化(遺留老系統(tǒng))l方式三:實例工廠方法初始化(遺留老系統(tǒng))7、bean的存活范圍:取值:singlton(默認(rèn)值):單例的。在spring容器中實例只有一個。prototype:非單例的。用的時候都會創(chuàng)建新的對象。request:請求范圍。(只能用在web環(huán)境下)session:會話范圍。(只能用在web環(huán)境下)8、bean的生命周期有關(guān)配置注意:9、依賴注入:重點9.1通過構(gòu)造
4、方法注入9.2setter屬性注入:重點9.3p名稱空間:9.4SpEL:SpringExpressionLanguage9.5注入數(shù)組或集合10、團隊開發(fā)按模塊編寫spring配置文件。注意事項:l同一個xml文件中不能出現(xiàn)相同id名稱的beanl多個xml文件可以出現(xiàn)id相同名稱的bean,后導(dǎo)入的配置的會覆蓋前面的配置。l11、使用注解11.0概述作用:替代xml作為配置文件。注解VSXML注解:優(yōu)點---開發(fā)直觀,開發(fā)效率高。缺點---硬編碼。XML:缺點---開發(fā)效率低,麻煩。優(yōu)點---運行期間可配置。11.1S
5、pring中使用注解進行配置a、jar包:還是使用核心的5個jar即可b、spring配置文件指定bean的搜索路徑c、實例化資源11.2常用的注解l資源管理:方式一:@Component:把bean交給spring容器管理。默認(rèn)bean的名稱就是類名首字母小寫方式二:@Component的衍生注解,主要用在三層架構(gòu)開發(fā)中@Controller:表現(xiàn)層使用,一般動作類上@Service:業(yè)務(wù)層使用@Repository:持久層使用----------------------------------l資源注入:方式一:@Au
6、towired:自動注入required屬性:默認(rèn)值是true。注入失敗,拋出錯誤說找不到對應(yīng)的beanfalse:注入失敗,拋NullPointerException@Qualifier:指定要注入的bean的名稱。要配置@Autowired來使用@Value:注入基本類型數(shù)據(jù)和String按類型自動注入的注意事項:l注入屬性類型為classn如果類名(簡單類名)對應(yīng)的類只有一個,注入成功n如果類名(簡單類名)對應(yīng)的類有多個,注入失敗l注入屬性類型為interfacen如果不存在對應(yīng)接口的實現(xiàn)類,注入失敗n如果對應(yīng)接口的
7、實現(xiàn)類為一個,注入成功n如果對應(yīng)接口的實現(xiàn)類為多個,注入失敗方式二:@Resource:功能和@Autowire是類似的。默認(rèn)按照類型進行注入。此注解是Spring框架對JSR-250的支持。@Autowire和@Qualifier可以按照指定名稱進行注入;@Resource(name="bean的名稱";l生命周期有關(guān)注解:l針對老系統(tǒng),bean是由工廠創(chuàng)造的12、Spring中使用JUnita、導(dǎo)入jar包新增一個jar包:spring-test-3.2.0.RELEASE.jarb、如何使用單元測試第三篇:Sprin
8、g核心之AOP(面向切面編程)1、代理模式l靜態(tài)代理:代理類已經(jīng)寫出來了,實實在在的存在的。l動態(tài)代理:(Spring采用的)運行期間生成的,內(nèi)存中的類。n基于接口的動態(tài)代理:JDK代理,Proxy。編譯時快,運行時慢。n基于子類的動態(tài)代理:CGLIB。編譯時慢,運行時快導(dǎo)入cglib的jar包:Spr