新聞中心
依賴注入,是IOC的一個(gè)方面,是個(gè)通常的概念,它有多種解釋。這概念是說你不用創(chuàng)建對象,而只需要描述它如何被創(chuàng)建。你不在代碼里直接組裝你的組件和服務(wù),但是要在配置文件里描述哪些組件需要哪些服務(wù),之后一個(gè)容器(IOC容器)負(fù)責(zé)把他們組裝起來。

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十余年品質(zhì),值得信賴!
一.目前使用最廣泛的 @Autowired:自動裝配
基于@Autowired的自動裝配,默認(rèn)是根據(jù)類型注入,可以用于構(gòu)造器、接口、方法注入,使用方式如下:
@Autowired
構(gòu)造方法、方法、接口
@Autowired默認(rèn)是根據(jù)參數(shù)類型進(jìn)行自動裝配,且必須有一個(gè)Bean候選者注入默認(rèn)required=true,如果允許出現(xiàn)0個(gè)Bean候選者需要設(shè)置屬性“required=false”,“required”屬性含義和@Required一樣,只是@Required只適用于基于XML配置的setter注入方式,只能打在setting方法上。
構(gòu)造器注入
通過將@Autowired注解放在構(gòu)造器上來完成構(gòu)造器注入,默認(rèn)構(gòu)造器參數(shù)通過類型自動裝配,如下所示:
public class Test1 {
private MessageInterface message;
@Autowired //構(gòu)造器注入
private Test1(MessageInterface message) {
this.message = message;
}
//省略getter和setter
}
接口注入
通過將@Autowired注解放在構(gòu)造器上來完成接口注入。
public class Test2 {
@Autowired //接口注入
private MessageInterface messageInterface;
//省略getter和setter
}
方法參數(shù)注入
通過將@Autowired注解放在方法上來完成方法參數(shù)注入。
public class Test3 {
private MessageInterface message;
@Autowired //setter方法注入
public void setMessage(MessageInterface message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
public class Test4 {
private MessageInterface message; //
private List list;
@Autowired(required = true) //任意一個(gè)或多個(gè)參數(shù)方法注入
private void initMessage(MessageInterface message, ArrayList list) {
this.message = message;
this.list = list;
}
//省略getter和setter
}
文章標(biāo)題:spring依賴注入常用的三種方式
本文路徑:http://m.fisionsoft.com.cn/article/dhjhhio.html


咨詢
建站咨詢
