spring 總結(jié)

知識(shí)回顧

第一部分:Spring概述(知道)

  • Spring簡(jiǎn)介
    • Spring是以IOC和AOP為內(nèi)核的full-stack輕量級(jí)開(kāi)源框架
  • Spring發(fā)展歷程
  • Spring優(yōu)勢(shì)
    • 解耦
    • Aop編程支持
    • 聲明式事務(wù)
    • 對(duì)測(cè)試的支持
    • 方便集成各種優(yōu)秀框架
    • 對(duì)JavaEE API的封裝
    • 優(yōu)秀的源碼
  • Spring核心結(jié)構(gòu)
    • 模塊化思想的體現(xiàn)
  • Spring框架版本
    • 課程使用 5.1.12

第二部分:核心思想(理解)

  • IOC 控制反轉(zhuǎn)
    • 什么是IoC
      • 創(chuàng)建對(duì)象的權(quán)利反轉(zhuǎn)給框架,不需要我們自己new對(duì)象了,我們喪失了創(chuàng)建對(duì)象的權(quán)利,但是也得到了福利,不需要我們來(lái)管理對(duì)象了
    • IoC解決什么問(wèn)題
      • 解決對(duì)象之間耦合問(wèn)題
    • IOC和DI的區(qū)別
      • 同一件事情不同角度的描述
  • AOP 面向切面編程
    • 橫切邏輯:多個(gè)縱向流程中出現(xiàn)的重復(fù)子流程邏輯
    • 本質(zhì)
      • 在不改變?cè)袠I(yè)務(wù)邏輯代碼的情況下,增強(qiáng)橫切邏輯,避免橫切邏輯代碼重復(fù)
    • 為什么叫面向切面編程
      • 切:橫切邏輯,原有業(yè)務(wù)邏輯不能動(dòng)
      • 面:橫切代碼影響的往往是很多方法,構(gòu)成了一個(gè)面

第三部分:手寫(xiě)實(shí)現(xiàn)IOC和AOP(掌握)

  • 分析案例,找出問(wèn)題
  • 針對(duì)問(wèn)題提出解決方案
    • 針對(duì)問(wèn)題一
    • 針對(duì)問(wèn)題二
  • 按照解決方案完成編碼
    • 1、ConnectionUtils提供了一個(gè)獲取當(dāng)前線程綁定Connection的方法
    • 2、Service層事務(wù)管理邏輯代碼單獨(dú)提取為了事務(wù)管理器類TransactionManager(事務(wù)的開(kāi)啟、提交、回滾)
    • 3、我們不可能給每一個(gè)方法添加TCF代碼塊來(lái)控制事務(wù),所以使用動(dòng)態(tài)代理技術(shù),開(kāi)發(fā)ProxyFactory

第四部分:SpringIOC的應(yīng)用(掌握)

  • 說(shuō)明
    • Bean定義方式不同、JavaSE/JavaEE環(huán)境不同,導(dǎo)致容器啟動(dòng)方式也會(huì)不同
  • BeanFactory和ApplicationContext的區(qū)別
    • Spring中IOC容器的頂級(jí)接口,定義基礎(chǔ)規(guī)范;
    • ApplicationContext是容器的高級(jí)接口,比BeanFactory擁有更多的功能(比如XML讀?。?/li>
  • IOC三種模式
    • 模式一:純XML模式
      • 創(chuàng)建Bean的三種方式
        • class指定全限定類名,通過(guò)無(wú)參構(gòu)造器創(chuàng)建
        • 靜態(tài)方法創(chuàng)建
        • 實(shí)例化方法創(chuàng)建
      • Bean標(biāo)簽屬性
        • id
        • class
        • scope
          • singleton
          • prototype
        • 生命周期屬性
          • init-method
          • destory-method
        • name
        • factory-bean
        • factory-method
      • DI依賴注入
        • 構(gòu)造器注入
          • 使用<constructor-arg>標(biāo)簽
        • set注入
          • 使用<property>標(biāo)簽,ref屬性用于注入其它bean,value屬性用于注入普通數(shù)值
    • 模式二:XML+注解模式
    • 模式三:純注解模式
    • 原則:從xml開(kāi)始,學(xué)習(xí)注解時(shí)將xml中標(biāo)簽、屬性與注解一一對(duì)應(yīng)即可
  • IOC高級(jí)特性
    • lazy-init(了解)
    • FactoryBean和BeanFactory(重點(diǎn))
      • FactoryBean是一個(gè)Bean,用于創(chuàng)建其他對(duì)象
    • 后置處理器(重點(diǎn))
      • BeanPostProcessor,Bean對(duì)象后置處理器
      • BeanFactoryPostProcessor,Bean工廠后置處理器
        • BeanFactory初始化之后可以使用這個(gè)后置處理器做一些事情
      • 其他
        • SpringBean生命周期
          • new的對(duì)象并不是一個(gè)Spring Bean對(duì)象
        • BeanDefinition對(duì)象

第五部分:Spring IOC源碼深度剖析

  • 源碼剖析技巧
  • 流程分析

第六部分:SpringAOP應(yīng)用(掌握)

  • AOP相關(guān)術(shù)語(yǔ)
    • 連接點(diǎn)JoinPoint
      • 每個(gè)個(gè)方法的特殊時(shí)機(jī)點(diǎn)都是連接點(diǎn),是一種候選點(diǎn)
    • 切入點(diǎn)PointCut
      • 用于定位真正感興趣的方法
    • 增強(qiáng)Advice
      • 橫切邏輯+方位信息(具體哪種連接點(diǎn))
    • 目標(biāo)對(duì)象Target
    • 代理對(duì)象Proxy
    • 織入Weaving
    • 切面Aspect
      • 切面=切入點(diǎn)+增強(qiáng)=切入點(diǎn)+橫切邏輯+方位信息
    • 注意:這么多的概念,目的就是為了鎖定在哪個(gè)地方插入什么橫切邏輯代碼
  • Spring AOP配置
    • XML配置
    • XML+注解
    • 純注解
  • Spring 聲明式事務(wù)
    • 回顧事務(wù)基本知識(shí)
      • 四大特性、并發(fā)問(wèn)題、隔離級(jí)別、傳播行為
    • 配置方式
      • xml配置
      • xml+注解
      • 純注解

第七部分:Spring AOP源碼剖析

  • 代理對(duì)象創(chuàng)建流程
  • 聲明式事務(wù)控制組件分析--->從@EnableTransactionManagement開(kāi)始
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • I. 簡(jiǎn)介 Spring是什么Spring是一個(gè)開(kāi)源免費(fèi)的輕量級(jí)且非侵入式的框架(容器),其通過(guò)注入Bean的方式...
    YYsoul閱讀 282評(píng)論 0 0
  • 1、Spring是什么?Spring是一個(gè)輕量級(jí)的IoC和AOP容器框架。是為Java應(yīng)用程序提供基礎(chǔ)性服務(wù)的一套...
    月哥說(shuō)了算閱讀 385評(píng)論 0 0
  • Spring的概念 Spring是個(gè)java企業(yè)級(jí)應(yīng)用的開(kāi)源開(kāi)發(fā)框架,旨在降低應(yīng)用程序開(kāi)發(fā)的復(fù)雜度。是一個(gè)輕量級(jí),...
    coder_girl閱讀 214評(píng)論 0 1
  • spring總結(jié) 1、什么是Spring框架,Spring框架主要包含哪些模塊 Spring是一個(gè)開(kāi)源框架,Spr...
    沐子不愛(ài)敲代碼閱讀 548評(píng)論 0 0
  • Spring框架的好處 輕量:基本的版本大約是2M IOC(控制反轉(zhuǎn)):Spring通過(guò)控制反轉(zhuǎn)實(shí)現(xiàn)了松散耦合,對(duì)...
    whupenger閱讀 322評(píng)論 0 0

友情鏈接更多精彩內(nèi)容