1. 程式人生 > 其它 >Spring IOC設計原理和原始碼學習-01

Spring IOC設計原理和原始碼學習-01

技術標籤:# springspring

整體認識

  1. Spring的目標是使用者感到簡單,降低負載和降低框架的入侵性

  2. 怎麼實現這兩個目標呢?
    方法就是IOC和AOP
    IOC,容器技術方案就是很好的降低了框架的入侵性,讓應用不依賴於Spring的api。
    Java EE的服務都被抽象到IOC中,並通過AOP進行有效的封裝。由容器來管理這些複雜的依賴關係而不是開發者。
    這裡為什麼說通過AOP進行有效的封裝,是因為將散落在專案各處物件的建立和引用賦值都集中到IOC容器中進行管理,這也是AOP的概念,將某些分散操作集合起來進行封裝,增加程式碼的複用性

  3. 何為依賴關係,通俗一點就是類與類之間的關係,你在某個類中建立了另一個類的例項,那麼就建立了兩個類之間的關係。有了容器技術,這兩者之間的關係都交給了IOC管理,這就是IOC的精華所在。

問題

通過反問來牽引出知識點,學習中不斷的發問,不斷的丟擲問題。

1. IOC是怎樣將依賴關係放入容器中的?

各個模組的依賴關係通過簡單的配置檔案進行描述,也就是說將依賴關係有檔案檔案的形式記錄下來,將依賴資訊集中化展示和記錄,同時也是配置檔案,這樣更加明瞭的瞭解各個模組之間的依賴關係。

Spring致力於提供優秀方案的整合平臺,也就是說很容易的整合第三方元件,而不是緊緊依賴於Spring提供的API依賴。文成POJJO開發時所必須使用的就是IOC,其他api沒有這種要求,靈活性好。

在這裡插入圖片描述
上圖是這麼說的,依賴注入,但是我不是很理解。調控系統就是IOC容器。
根據字面意思就是,當我們要建立一個需要的類例項時,創建出來的例項與依賴進行繫結,我們就能使用該例項了。顯示中應用如下:

 	@Resource
    private PasswordEncoder passwordEncoder;
    @Resource
    private UserService userService;

2. 什麼是控制反轉? 什麼是依賴注入?

依賴注入就是將IOC管理的實體引用於使用者建立的例項進行繫結,讓使用者建立的例項擁有使用價值。

依賴關係管理

  • 通過可讀文字完成配置
  • 通過可是化工具對這些資訊進行管理和瀏覽