完成DI 依賴注入功能

2021-10-10 18:55:09 字數 1474 閱讀 3454

private string configlocations;

private v1beandefinitionreader reader;

//用來保證註冊式單例的容器

private mapsingletonbeancachemap = new hashmap();

//用來儲存所有的被**過的物件

...}

從getbean()開始

下面,我們從完善getbean()方法開始:

//依賴注入,從這裡開始,通過讀取beandefinition中的資訊

//然後,通過反射機制建立乙個例項並返回

//裝飾器模式:

//1、保留原來的oop關係

//2、我需要對它進行擴充套件,增強(為了以後aop打基礎)

public object getbean(string beanname) throws exception

// //class b

// //先有雞還是先有蛋的問題,乙個方法是搞不定的,要分兩次

postprocessor.postprocessafterinitialization(instance,beanname);

// //3、注入

}// v1beandefinition.getbeanclassname();

//判斷只有加了註解的類,才執行依賴注入

if(!(clazz.isannotationpresent(v1controller.class) || clazz.isannotationpresent(v1service.class)))

//獲得所有的fields

field fields = clazz.getdeclaredfields();

for (field field : fields)

v1autowired autowired = field.getannotation(v1autowired.class);

string autowiredbeanname = autowired.value().trim();

if("".equals(autowiredbeanname))

//強制訪問

field.setaccessible(true);

try

// if(instance == null)

} catch (illegalacces***ception e)

}}

public class v1beanpostprocessor 

public object postprocessafterinitialization(object bean, string beanname) throws exception

}

至此,di 部分就完成了。

DI依賴注入

1.依賴注入的概念 作用 給建立好的物件中的全域性的屬性或者物件進行賦值的操作 2.di的意義 解除類與類之間高耦合性,給物件中全域性物件賦值的操作 3.di和ioc的關係 是同乙個事情 spring幫助建立物件的過程叫做ioc,建立物件時給物件中全域性物件賦值叫做di,所以認為ioc和di是同乙個...

依賴注入DI

依賴ioc環境,注入屬性值 首先需要有bean的配置,然後才能往裡面弄注入屬性 spring在建立類的過程中將類的屬性設定進去。如果屬性是基本資料型別 那麼就使用 value 注意 在這裡 string也是基本資料型別 如果是引用資料型別,那麼就使用 ref 需要建立對應的類物件注入 首先先寫屬性注...

Spring依賴注入(DI)

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