初識 Inject 註解 簡單明瞭

2021-09-23 10:16:46 字數 971 閱讀 6724

@inject 註解可以出現在三種類成員之前,表示該成員需要注入依賴項。按執行時的處理順序這三種成員型別是:

(1)構造方法

(2)方法

(3)屬性

在構造方法上使用 @inject 時,其引數在執行時由配置好的ioc容器提供。比如,在下面的**中,執行時呼叫murmurmessage類的構造方法時,ioc 容器會注入其引數 header 和content 物件。

@inject

public

murmurmessage

(header header, content content)

規範中規定向構造方法注入的引數數量是0個或多個,所以在不含引數的構造方法上使用 @inject 註解也是合法的。

注意:因為jre無法決定構造方法注入的優先順序,所以規範中規定類中只能有乙個構造方法帶@inject註解

也可以用@inject註解方法,與構造方法一樣,執行時可注入的引數數量為0個或多個。但使用引數注入的方法不能宣告為抽象方法也不能宣告其自身的型別引數。下面這段**在set方法前使用@inject,這是注入可選屬性的常用技術。

@inject

public

void

setcontent

(content concent)

向方法中注入引數的技術對於服務類方法來說非常有用,其所需的資源可以作為引數注入,比如向查詢資料的服務方法中注入資料訪問物件(dao)。

也可以直接在屬性上注入(只要它們不是final),雖然這樣做簡單直接,但是不提倡這樣做,因為這樣做會讓單元測試更加困難。直接注入的語法也很簡單。

public

class

murmurmessager

插入排序(簡單明瞭)

class test public static void insertsort int a int m 1 從陣列的第二個位置開始遍歷值 for j 1 j 0 a i key 跳出迴圈 找到要插入的中間位置或已遍歷到0下標 system.out.println system.out.print ...

簡單明瞭說明UDP打洞原理

為什麼需要打洞呢?主要是不同區域網的電腦,他們通過一台路由器連線internet上外網,由於不同區域網的電腦ip是內部ip,連線外網是通過內網的伺服器的路由器臨時分派乙個通訊埠實現的,區域網路內部的電腦並不是真正internet上的乙個節點,這樣不同區域網路的電腦肯定無法通過internet直接通訊...

簡單明瞭的SQL建立語句

1.建立資料庫sql語句 use master goif exists select from sysdatabases where name commonpermission begin select 該資料庫已存在 drop database commonpermission 如果該資料庫已經存...