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

Spring中Service注入多個(gè)實(shí)現(xiàn)類的方法詳解

 更新時(shí)間:2023年07月19日 08:51:30   作者:Blue92120  
這篇文章主要介紹了Spring中Service注入多個(gè)實(shí)現(xiàn)類的方法詳解,Spring是一個(gè)開源的Java框架,用于構(gòu)建企業(yè)級(jí)應(yīng)用程序,它提供了許多功能,如依賴注入、面向切面編程、數(shù)據(jù)訪問、Web開發(fā)等,需要的朋友可以參考下

實(shí)現(xiàn)方法:

方法一:

Controller中注入service的時(shí)候使用@Autowired自動(dòng)注入,@Qualifier("beanId")注解來指定注入哪一個(gè)。

方法二:

Controller中注入service的時(shí)候使用@Resource(type = 類名.class)來指定注入哪一個(gè)。

方法三:

每個(gè)service的impl都可以指定名稱(使用@Service(“名稱”)

Controller中注入service的時(shí)候使用名稱來指定注入哪一個(gè)(使用@Resource(name="名稱"))。

@Service注解

其實(shí)做了兩件事情:

1、聲明TeacherServiceImpl.java是一個(gè)bean。因?yàn)門eacherServiceImpl .java是一個(gè)bean,其他的類才可以使用@Autowired將TeacherServiceImpl 作為一個(gè)成員變量自動(dòng)注入。

2、TeacherServiceImpl.java在bean中的id是"teacherServiceImpl ",即類名且首字母小寫。

注意:不能有同名的,不然要報(bào)錯(cuò)。

@Autowired注解

意思就是:

當(dāng)Spring發(fā)現(xiàn)@Autowired注解時(shí),將自動(dòng)在代碼上下文中找到和其匹配(默認(rèn)是類型匹配)的Bean,并自動(dòng)注入到相應(yīng)的地方去。

@Resource的作用相當(dāng)于@Autowired。

@Autowired和@Resource兩個(gè)注解的區(qū)別:

1.@Autowired是Spring的注解,@Resource是J2EE的注解,這個(gè)看一下導(dǎo)入注解的時(shí)候這兩個(gè)注解的包名就一清二楚了。

2.@Autowired默認(rèn)按照byType方式進(jìn)行bean匹配,@Resource默認(rèn)按照byName方式進(jìn)行bean匹配。

3.@Autowired默認(rèn)情況下必須要求依賴對(duì)象必須存在,如果要允許null值,可以設(shè)置它的required屬性為false,如:@Autowired(required=false)。

方法一代碼如下:

接口

public interface HumanService {
    public String name();
}

接口實(shí)現(xiàn)類

@Servicepublic class TeacherServiceImpl implements HumanService {
    @Override
    public String name() {
        System.out.println("teacher");
        return "teacher";
    }
}
@Servicepublic class DoctorServiceImpl implements HumanService {
    @Override
    public String name() {
        System.out.println("doctor");
        return "doctor";
    }
}

控制器

@RestController
public class HumanController {
    //    @Resource(type = DoctorServiceImpl.class) //方法二
    @Autowired
    @Qualifier("teacherServiceImpl")
    private HumanService humanService;
    @RequestMapping("/name")
    public String name(){
        return humanService.name();
    }
}

方法三代碼如下:

接口

public interface HumanService {
    public String name();
}

接口實(shí)現(xiàn)類

@Service("teacherService")
public class TeacherServiceImpl implements HumanService {
    @Override
    public String name() {
        System.out.println("teacher");
        return "teacher";
    }
}
@Service("doctorService")
public class DoctorServiceImpl implements HumanService {
    @Override
    public String name() {
        System.out.println("doctor");
        return "doctor";
    }
}

控制器

@RestController
public class HumanController {
    @Resource(name="doctorService")
    private HumanService humanService;
    @RequestMapping("/name")
    public String name(){
        return humanService.name();
    }
}

到此這篇關(guān)于Spring中Service注入多個(gè)實(shí)現(xiàn)類的方法詳解的文章就介紹到這了,更多相關(guān)Spring中Service注入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring boot上傳文件出錯(cuò)問題如何解決

    spring boot上傳文件出錯(cuò)問題如何解決

    這篇文章主要介紹了spring boot上傳文件出錯(cuò)問題如何解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java中關(guān)于控制臺(tái)讀取數(shù)字或字符串的方法

    Java中關(guān)于控制臺(tái)讀取數(shù)字或字符串的方法

    下面小編就為大家?guī)硪黄狫ava中關(guān)于控制臺(tái)讀取數(shù)字或字符串的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • Java 自定義Spring框架與核心功能詳解

    Java 自定義Spring框架與核心功能詳解

    Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)
    2021-10-10
  • java面向國(guó)際化項(xiàng)目開發(fā)需遵循的命名規(guī)范

    java面向國(guó)際化項(xiàng)目開發(fā)需遵循的命名規(guī)范

    這篇文章主要為大家介紹了在參與開發(fā)國(guó)際化項(xiàng)目時(shí)需遵循的java命名規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • RepeatSubmit若依框架如何防止表單重復(fù)提交注解

    RepeatSubmit若依框架如何防止表單重復(fù)提交注解

    若依框架中的@RepeatSubmit注解用于防止表單重復(fù)提交,通過在控制器方法上添加該注解,并在前端頁(yè)面和JavaScript代碼中實(shí)現(xiàn)雙重校驗(yàn),可以確保同一用戶在短時(shí)間內(nèi)不會(huì)重復(fù)提交相同的表單
    2024-11-11
  • Java 基礎(chǔ)語(yǔ)法中的邏輯控制

    Java 基礎(chǔ)語(yǔ)法中的邏輯控制

    這篇文章主要介紹了Java 基礎(chǔ)語(yǔ)法中的邏輯控制的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • Java中復(fù)雜的Synchronized關(guān)鍵字使用方法詳解

    Java中復(fù)雜的Synchronized關(guān)鍵字使用方法詳解

    Synchronized關(guān)鍵字是一個(gè)種鎖,其有很多名字,例如重量級(jí)鎖、悲觀鎖、可重入鎖、、非公平、對(duì)象鎖等等,這篇文章主要給大家介紹了關(guān)于Java中復(fù)雜的Synchronized關(guān)鍵字使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java中的ReentrantLock、ReentrantReadWriteLock、StampedLock詳解

    Java中的ReentrantLock、ReentrantReadWriteLock、StampedLock詳解

    這篇文章主要介紹了Java中的ReentrantLock、ReentrantReadWriteLock、StampedLock詳解,讀寫鎖:一個(gè)資源能夠被多個(gè)讀線程訪問,或者被一個(gè)寫線程訪問但是不能同時(shí)存在讀寫線程,需要的朋友可以參考下
    2024-01-01
  • Java使用JSONObject操作json實(shí)例解析

    Java使用JSONObject操作json實(shí)例解析

    這篇文章主要介紹了Java使用JSONObject操作json,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java使用JSONObject解析json數(shù)據(jù)相關(guān)原理、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • Spring如何基于注解顯式實(shí)現(xiàn)自動(dòng)裝配

    Spring如何基于注解顯式實(shí)現(xiàn)自動(dòng)裝配

    這篇文章主要介紹了Spring如何基于注解顯式實(shí)現(xiàn)自動(dòng)裝配,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論

大埔县| 阿城市| 襄樊市| 华容县| 新巴尔虎左旗| 吴忠市| 县级市| 德钦县| 怀远县| 大英县| 白城市| 宜黄县| 梁山县| 县级市| 册亨县| 延边| 尉氏县| 安顺市| 墨脱县| 互助| 定州市| 永和县| 阿拉善盟| 耒阳市| 清涧县| 探索| 包头市| 鄂托克前旗| 会泽县| 大余县| 全南县| 历史| 根河市| 玛沁县| 延长县| 乐安县| 澳门| 永寿县| 囊谦县| 伊春市| 乐东|