1. 程式人生 > >學習Spring原始碼(1)

學習Spring原始碼(1)

一、Spring 是什麼?

1、輕量級 :api 使用簡單

2、面向bean :只需要編寫簡單的bean,bean是什麼?bean就是java物件;

3、鬆耦合:利用AOP思想

4、萬能膠

5、設計模式

spring 是為解決企業級應用開發的複雜性而設計,最根本的使命,就是簡化開發;

1.基於pojo的輕量級和最小侵入性程式設計;

2.通過依賴注入和麵向介面鬆耦合;

3.基於切面和慣性進行宣告式程式設計;

4通過切面和模板減少樣板式程式碼;

主要通過面向bean、依賴注入以及面向切面這三種方式來達成;

怎麼樣使一個類作為一個公用的幾種方法?

1、打個jar包、具體就是繼承這個類;

2、將這個類做為成員變數,放到類裡面宣告;

Spring 只要宣告;二、面向bean

Spring是面向bean的程式設計;Spring提供了IOC容器通過配置檔案或者註解的方式來管理物件之間的依賴關係;

(1)、依賴注入:public class Note{
    private int a;
    private int b;
   
    public void execute(){}}// 例項化以後用一個變數儲存下來(匿名物件)@autowite Note note; // Spring 初始化,例項化(控制權)
// 一定要初始化才行,報空指標異常
note.execute();//實現依賴注入 (賦值:把等號右邊的賦值給左邊的)
@autowrite InterfaceA a; //自動把它的實現類注入進來
@Resource("a") A b;    //IOC容器中類的id為a物件自動注入到這裡(可以區分父子類)
@autowrite A a;          //根據型別自動注入;(2)Spring的注入方式:
1 setter
2 構造方法
3 強制賦值  如: @autowrite private InterfaceA a;// 下面情況例項化的先後順序 b、a、c ;//依賴鏈中的所有物件,ioc容器裡面初始化;例項化spring就幫完成
class C {
   private A a;
   public void func(){
      
   }
}
class A{
     private B b;
}

(3).理解AOP的看透弄懂AOP


Spring是一個庫,它的功能是提供了一個軟體框架,這個框架目的是使軟體之間的邏輯更加清晰,配置更靈活,實現這個目的的手段使用AOP和IoC,而AOP和IoC是一種思想,是一種什麼樣的思想呢?先說AOP在Java裡是利用反射機制實現(也可以認為是動態代理,不過動態代理也是反射機制實現的),如何使用AOP呢

AOP的本質是在一系列縱向的控制流程中,把那些相同的子流程提取成一個橫向的面;

1、面向切面aop的核心構造是方面(切面),它將那些影響多個類的行為封裝到可重用的模組中;

aop的功能完全整合到了spring事物管理、日誌和其他各種特徵的上下文中;

在應用中哪些應用了面向切片程式設計?Authentioncation許可權認證Logging 日誌Transctions Manager 事物Lazy Loading 懶載入Context Process 上下文處理Error Handler 錯誤跟蹤 異常捕獲機制cache
 快取處理