最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring 自動(dòng)裝配的二義性實(shí)例解析

 更新時(shí)間:2019年11月13日 09:51:35   作者:呼呼睡覺睡覺啦  
這篇文章主要介紹了Spring 自動(dòng)裝配的二義性實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Spring 自動(dòng)裝配的二義性實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.我們知道可以用Spring的自動(dòng)裝配(@Autowired)將Bean應(yīng)用注入到構(gòu)造參數(shù)和屬性中,但是,注意了,僅有一個(gè)bean匹配需要的結(jié)果時(shí),自動(dòng)裝配才可以生效。如果有多個(gè)bean匹配同一個(gè)結(jié)果,這種歧義性會(huì)阻礙Spring自動(dòng)裝配屬性,構(gòu)造參數(shù)或方法參數(shù)。

大白話說一下,就如我們有一個(gè)甜片接口(Dessert)里面有一個(gè)好吃的方法(good)當(dāng)我們只有一個(gè)餅干實(shí)現(xiàn)這個(gè)接口時(shí),Spring容器會(huì)選擇餅干來(lái)裝配,但是還有一個(gè)蛋糕實(shí)現(xiàn)接口時(shí),這個(gè)時(shí)候Spring就不知道去選擇哪個(gè)實(shí)現(xiàn)類來(lái)裝配了。代碼上!

(1)甜片的接口

package jinjin;
/**
 * 
 * @author 雪飛oubai
 *  甜點(diǎn)接口
 */
public interface Dessert {
  public void good();
}

(2)有餅干實(shí)現(xiàn)這個(gè)接口

package jinjin;

import org.springframework.stereotype.Component;
/**
 * @author 雪飛oubai
 *  餅干類實(shí)現(xiàn)接口
 */
@Component
public class Cookies implements Dessert{
  
  @Override
  public void good() {
    System.out.println("餅干好吃!");
  }
}

(3)測(cè)試類,使用@Autowired來(lái)自動(dòng)裝配

package jinjin;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
 * @author 雪飛oubai
 *  測(cè)試一下
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=ConfigTest.class)
public class CommTest {
  
  @Autowired
  private Dessert dessert;
  
  @Test
  public void test(){
    dessert.good();
  }
  
}

(4)java配置類

package jinjin;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
 * @author 雪飛oubai
 *  java配置類
 */
@Configuration
@ComponentScan
public class ConfigTest {
  
}

運(yùn)行結(jié)果

(5)再加一個(gè)蛋糕類實(shí)現(xiàn)接口

package jinjin;

import org.springframework.stereotype.Component;
/**
 * @author 雪飛oubai
 *  蛋糕類實(shí)現(xiàn)甜片接口
 */
@Component
public class Cake implements Dessert {

  @Override
  public void good() {
    System.out.println("蛋糕好吃!");
  }
}

(6)繼續(xù)運(yùn)行看結(jié)果

報(bào)了NoUniqueBeanDefinitionException的異常。這就是自動(dòng)裝配的歧義性

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 使用簡(jiǎn)單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大

    java 使用簡(jiǎn)單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大

    本篇文章介紹了,在java中使用簡(jiǎn)單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大。需要的朋友參考下
    2013-05-05
  • Java中字節(jié)流和字符流的理解(超精簡(jiǎn)!)

    Java中字節(jié)流和字符流的理解(超精簡(jiǎn)!)

    Java通過稱為流的抽象來(lái)執(zhí)行I/O操作,下面這篇文章主要給大家介紹了關(guān)于Java中字節(jié)流和字符流理解,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Spring @Value的注解使用和原理解析

    Spring @Value的注解使用和原理解析

    @Value注解在Spring開發(fā)中是一個(gè)使用很頻繁的注解,在項(xiàng)目開發(fā)中,我們通常需要讀取配置文件中的一些信息,當(dāng)然,@Value不單單能讀取配置文件,還能讀取系統(tǒng)屬性,還可以讀取其他bean的屬性,本章就來(lái)詳細(xì)介紹@Value注解的使用和對(duì)源碼進(jìn)行分析
    2023-06-06
  • 優(yōu)惠券優(yōu)惠的思路以及實(shí)踐

    優(yōu)惠券優(yōu)惠的思路以及實(shí)踐

    本文主要介紹了優(yōu)惠券優(yōu)惠的思路以及實(shí)踐。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • springboot oauth2實(shí)現(xiàn)單點(diǎn)登錄實(shí)例

    springboot oauth2實(shí)現(xiàn)單點(diǎn)登錄實(shí)例

    我們見過的很多網(wǎng)站,容許使用第三方賬號(hào)登錄,oauth2是用來(lái)做三方登錄的,本文就詳細(xì)的介紹springboot oauth2實(shí)現(xiàn)單點(diǎn)登錄實(shí)例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-01-01
  • 關(guān)于Spring中@Value注解使用和源碼分析

    關(guān)于Spring中@Value注解使用和源碼分析

    通過深入分析@Value注解的使用和源碼,本文詳細(xì)解釋了Spring如何解析@Value注解并為屬性賦值,首先,Spring會(huì)解析并收集所有被@Value注解修飾的屬性,這一過程依賴于AutowiredAnnotationBeanPostProcessor類
    2024-11-11
  • Springboot2.6.x的啟動(dòng)流程與自動(dòng)配置詳解

    Springboot2.6.x的啟動(dòng)流程與自動(dòng)配置詳解

    這篇文章主要給大家介紹了關(guān)于Springboot2.6.x的啟動(dòng)流程與自動(dòng)配置的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • Java8如何使用Lambda表達(dá)式簡(jiǎn)化代碼詳解

    Java8如何使用Lambda表達(dá)式簡(jiǎn)化代碼詳解

    這篇文章主要給大家介紹了關(guān)于Java8如何使用Lambda表達(dá)式簡(jiǎn)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • SpringCloud服務(wù)的平滑上下線的方法

    SpringCloud服務(wù)的平滑上下線的方法

    這篇文章主要介紹了SpringCloud服務(wù)的平滑上下線的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-06-06
  • Java8新特性:Lambda表達(dá)式之方法引用詳解

    Java8新特性:Lambda表達(dá)式之方法引用詳解

    這篇文章主要給大家介紹了關(guān)于Java8新特性:Lambda表達(dá)式之方法引用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

都匀市| 南乐县| 栾城县| 华安县| 如皋市| 包头市| 海原县| 湖南省| 康平县| 襄樊市| 二手房| 闸北区| 株洲市| 咸丰县| 双柏县| 龙岩市| 剑阁县| 马关县| 体育| 含山县| 布尔津县| 潮州市| 西乡县| 普定县| 弥渡县| 五指山市| 武威市| 高安市| 昌乐县| 平舆县| 天门市| 兴宁市| 诸城市| 西盟| 华宁县| 南澳县| 哈尔滨市| 青冈县| 思茅市| 金溪县| 青川县|