Spring的依賴注入 DI 和控制反轉 IOC

2021-07-04 03:18:48 字數 759 閱讀 6523

springdi(依賴注入):給屬性賦值就為依賴注入

publicclass person

ioc和di做了什麼事情呢?

*  建立物件

* 給屬性賦值

ioc和di的意義:

可以在乙個類中引入乙個介面,而給介面賦值的工作交給spring容器來做,程式設計師只需要在配置檔案做一些配置就可以了,這樣在客戶端做到了完全的面向介面程式設計

spring的ioc:

* ioc:spring容器控制物件的生命週期:前提條件:在spring容器中的bean必須是單例的

* 建立

* 方式

* 利用預設的建構函式,如果沒有預設的建構函式,會報錯

* 利用靜態工廠方法

* 利用例項工廠方法

* 時機

* lazy-init為「default/false」當啟動spring容器的時候建立bean

但是如果該bean是prototype時,特殊。這種情況無效

*  在spring容器啟動的時候,就會發現錯誤

*  有可能會造成一些資料長時間駐留在記憶體中

* lazy-init為"true"當context.getbean時建立

bean為多例時,必須用這種方案建立物件

*  不能及時發現錯誤

*  資料會在需要的時候載入

* 初始化

* 由spring容器呼叫init方法

* 在建構函式之後執行

* 銷毀

* 如果是多例,容器不負責銷毀

Spring依賴注入(DI)

在spring框架中,依賴注入 di 的設計模式是用來定義物件彼此間的依賴。它主要有兩種型別 這是最流行最簡單的di注入方法,通過設定方法注入依賴。示例 幫助器類和指定的setter方法 package com.yiibai.output import com.yiibai.output.ioutp...

Spring依賴注入 DI

在我們的pojo類中需要get和set方法 public class student public void setname string name public address getaddress public void setaddress address address public str...

spring學習之DI依賴注入

何為di 傳統的物件與物件的呼叫,使得以後修改 變得困難,在spring得ioc控制反轉下,使得在上層呼叫下層的耦合性得到了緩解,不過還是得使用getbean方法去獲得,di的依賴注入,使得spring容器直接在xml檔案中配置,動態的使得物件與物件之間的注入關係變成動態行為,即spring框架負責...