91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring如何實現自動裝配

發布時間:2022-01-19 11:39:28 來源:億速云 閱讀:104 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Spring如何實現自動裝配,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Spring之自動裝配,所謂自動裝配,從字面解讀,我想應該不難理解吧(當然不是誘導讀者去咬文嚼字)。那究竟spring 自動裝配有幾種裝配類型(我想大家最關注的應該是我們什么時候可以“偷懶”反之什么時候又不能,我想開發者目的應該也是為了簡化程序員的工作)。那下面我們就介紹spring自動裝配之不能偷懶——autowire="no",在接受之前我們先介紹自動裝配總共包括幾種裝配方式(在其他裝配方式中就不在介紹了)。

在介紹之前,先簡單的提一個問題(自動裝配總共有幾種呢),答案(六種)也許與大家想的有點背離,但是我個人認為并不是不無道理的。

1. default-autowire="那五種形式": 這種是在全局(即在跟標簽里)定義的,如果局部定義了autowire 可想而知,當然是按照局部的去進行自動裝配了,如果沒有定義就是按照跟標簽的默認定義去進行裝配,所以在這里把它單獨拿出來作為一種

2. No:通過ref元素指定依賴

3. byName:在容器中尋找和需要自動裝配的屬性名相同的Bean(或ID),如果沒有找到相符的Bean,該屬性就沒有被裝配上。

4. byType:在容器中尋找一個與需要自動裝配的屬性類型相同的Bean;如果沒有找到相符的Bean,該屬性就沒有被裝配上,如果找到超過一個相符的Bean拋出異常org.springframework.beans.factory.UnsatisfiedDependencyException(特此聲明測試針對spring2.5.6,在spring3.0中檢查到多個Bean貌似沒有異常并且在3.0中沒有依賴檢查這個屬性)

5. Constructor:在容器中查找與需要自動裝配的Bean的構造方法參數一致的一個或者過個Bean,如果從在不確定的Bean或構造方法,容器會拋出異常org.springframework.beans.factory.UnsatisfiedDependencyException.

6. Autodetect:首先我們嘗試使用constructor來自動裝配,然后使用byType方式。不確定行的處理與constuctor和byType方式一樣

既然我們的題目叫不能偷懶,那當然我們就要介紹no了

Java代碼

//Longmanfei.xml     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">        class="cn.csdn.service.GreetingServiceImpl" autowire="no">      //GreetingDaoImpl   public class GreetingDaoImpl implements GreetingDao {   private String say;   public void say() {   System.out.println("我打了這個招呼"+say);   }   public void setSay(String say) {   this.say = say;   }   }   //GreetingServiceImpl   public class GreetingServiceImpl implements GreetingService{   private GreetingDaoImpl greetingDaoImpl;   public void say() {   greetingDaoImpl.say();   }   public void setGreetingDaoImpl(GreetingDaoImpl gdi) {   System.out.println("我調用了set方法");   this.greetingDaoImpl = gdi;   }   public GreetingServiceImpl() {   super();   System.out.println("我調用了空的構造器");   }   public GreetingServiceImpl(GreetingDaoImpl greetingDaoImpl) {   super();   System.out.println("我調用了有參的構造器");   this.greetingDaoImpl = greetingDaoImpl;   }   }   //junit測試   @Test  public void test1(){   /*加載spring容器可以解析多個配置文件采用數組方式傳遞*/  ApplicationContext   ac=new ClassPathXmlApplicationContext("classpath:Longmanfei.xml");   //直接轉換成接口便于日后修改數據/*Ioc控制反轉體現*/   GreetingService   gs=(GreetingService) ac.getBean("greetingServiceImpl");   gs.say();   }

關于“Spring如何實現自動裝配”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦川县| 遂昌县| 罗平县| 荆州市| 乐清市| 沐川县| 军事| 通道| 郑州市| 泸州市| 鄂尔多斯市| 溆浦县| 蒙阴县| 宣城市| 水富县| 通化县| 信丰县| 璧山县| 平武县| 麻阳| 克拉玛依市| 孟州市| 射洪县| 白水县| 博湖县| 平泉县| 乳源| 子长县| 古蔺县| 万载县| 盐城市| 泽州县| 吴川市| 萍乡市| 阿克苏市| 庆阳市| 竹溪县| 青河县| 新泰市| 尉犁县| 太湖县|