簡單實踐spring框架 手寫spring

2021-10-07 03:28:45 字數 645 閱讀 4327

​ 我們認識的spring-ioc 無非就是在類上加乙個 @component,@service,@controller,@repository這些註解,這樣就代表了將這個類或者說物件交給了spring管理,由spring為我們建立物件,而我們只需要在其他的類的成員位置定義該物件的物件名並在其上面加上@resource或者@autowired註解,spring便會自動的把我們所需要的值注入進去了,我們直接呼叫即可。這看似簡單的卻又神奇的操作,你又有沒有想過spring是怎麼實現的呢?

流程大致分為五步

讀取配置檔案獲取檔案根路徑

通過根路徑獲取所有類

為這些類建立物件

掃瞄獲取需要注入的物件

通過反射為類注入物件

既然知道了流程那麼就話不多說來實現一下spring的ioc

首先需要做一些基礎的準備工作也就是定義註解。

需要用到的註解

@component,@service,@controller,@repository,@autowired

我這裡為了簡便就不進行@component和@repository的定義了

@service 在這裡用注釋簡單介紹了一下引數的意思 後面將不在介紹

spring基礎框架實踐

常用的注入方式 250可以寫內部bean,不能被外部引用 map bean之間的繼承關係 p標籤 是哦那個p標籤,我們可以直接為類屬性賦值。list p命名空間 繼承 由於ide的原因,導致你執行一次之後,系統會自動把properties中資料匯入配置檔案中 引用properties檔案 prope...

Spring框架學習與實踐(二)

依賴注入 dependency injection,di 和控制反轉含義相同,它們是從兩個角度描述的同乙個概念。依賴注入主要有兩種實現方式,分別是屬性 setter 注入和構造方法注入。下面通過屬性 setter 注入的案例演示 spring 容器是如何實現依賴注入的。具體步驟如下。1.建立 per...

spring 分模組開發簡單實踐

spring 分模組開發 背景 我們一般採用spring struts ibatis的開發模式,使用spring統管業務bean,當專案很大時,面臨乙個bean命名衝突問題,如果和struts一樣,採取分模組的方式,不同的模組有自己的命名空間,將會避免幾個並行開發的子系統或模組共用一套bean配置檔...