上一回說到ioc的基於xml配置方法的注入,現在來聊一下基於註解的注入。。
使用註解會顯得比配置簡單好多,僅僅需要幾個註解就搞定了,比如下面的:
school
import org.springframework.beans.factory.annotation.value;
import org.springframework.stereotype.component;
@component("myschool") //表示當前類被spring所管理
public class school
//帶參的構造方法,將兩個屬性作為引數傳進來
public school(string sid, string sname)
public void setsid(string sid)
public void setsname(string sname)
public string getsid()
public string getsname()
@override
public string tostring() }
student
import org.springframework.beans.factory.annotation.value;
import org.springframework.stereotype.component;
@component("mystudent") //表示當前類被spring所管理
public class student
//帶參的構造方法
public student(string name, school school)
public void setname(string name)
public void setschool(school school)
public string getname()
public school getschool()
@override
public string tostring()
}
可見,使用註解只需要先在類的上面給個 @component 註解 這樣就等於跟spring說:「嘿!大哥,我這個需要你管理哦~」 然後在屬性上面也給了 @value 註解,並給出要注入的即可。。
當然,只在類上操作還不行,還需要在配置檔案中給出配置,畢竟容器都是讀配置檔案的,這個配置也超級簡單,只需要乙個叫 元件掃瞄器的東西就可以了,不過這個掃瞄器是context標籤的,所以要在配置檔案中引入context約束。
配置如下所示:
是的,這樣就可以了,其中 base-package 給出包路勁就行了,這個元件掃瞄器就會掃瞄給出的包中的bean。
需要注意的是,如果域屬性要用bytype方式的自動注入,要這樣配置
@autowired
@qualifier("myschool")//bytype自動注入
private school school;//學生所讀學校
就是說不能缺少前面那個 @autowired 註解,可以這樣理解:這個註解只是宣告了自動注入,而且預設是byname方式,如果想要用bytype就要再配置乙個註解。
基於註解的IOC和DI(下篇)
此篇為基於註解的ioc的下篇,有關於上篇請看spring入門到精通之基於xml的ioc 上篇 從上篇可以看到基於xml的方式還是比較繁瑣的,感覺就是在面向xml程式設計 因此spring框架的大佬也考慮到這一點,因此開發出基於註解的方式來配置,接下來看下註解是怎麼定義的吧!value引數可以省略,預...
spring基於註解的IOC和DI配置
註解 說明 component 使用在類上用於例項化bean controller 使用在web層類上用於例項化bean service 使用在service層類上用於例項化bean repository 使用在dao層類上用於例項化bean autowired 使用在字段上用於根據型別依賴注入 q...
Spring的IOC註解以及DI註解注入總結
一 ioc註解 1.多spring配置檔案的使用 2.使用xml配置進行配置 推薦使用xml配置加註解組合使用 第一步 要使用註解,需匯入aop包 第二步 在配置檔案頭部加入context的schema 第三步 使用註解,component 註解 3.實用配置類進行配置 一 1.不使用 bean註解...