亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Springboot根據(jù)配置文件動(dòng)態(tài)注入接口實(shí)現(xiàn)類(lèi)詳解

 更新時(shí)間:2023年10月25日 10:27:56   作者:小諸葛的博客  
這篇文章主要介紹了Springboot根據(jù)配置文件動(dòng)態(tài)注入接口實(shí)現(xiàn)類(lèi)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,需要的朋友可以參考下,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Springboot動(dòng)態(tài)注入接口實(shí)現(xiàn)類(lèi)

最近接到一個(gè)需求,產(chǎn)品的用戶(hù)模塊要接入第三方用戶(hù)系統(tǒng)(skyview),但是又不能影響原有的登錄模塊,并且需要通過(guò)配置文件來(lái)決定使用平臺(tái)的用戶(hù)系統(tǒng)還是第三方用戶(hù)系統(tǒng)。

原先的用戶(hù)模塊已經(jīng)開(kāi)發(fā)好了,接口也設(shè)計(jì)好了,所以只需要再開(kāi)發(fā)第三方用戶(hù)系統(tǒng)的接口實(shí)現(xiàn)就好了。

用戶(hù)接口:

public interface UserService {
    String login();
}

平臺(tái)用戶(hù)接口實(shí)現(xiàn):

@Service("UserServiceImpl")
public class UserServiceImpl implements UserService {
 
    @Override
    public String login() {
        return "zeus";
    }
}

第三方平臺(tái)接口實(shí)現(xiàn):

@Service("skyviewUserServiceImpl")
public class SkyviewUserServiceImpl implements UserService {
 
    @Override
    public String login() {
        return "skyview";
    }
 
}

功能已經(jīng)開(kāi)發(fā)好了,問(wèn)題是如何在Controller層動(dòng)態(tài)決定使用那個(gè)實(shí)現(xiàn)類(lèi)?

通過(guò)@Qualifier和@Resource都可以指定接口的實(shí)現(xiàn)類(lèi),不同的是,@Qualifier注解的參數(shù)必須是常量,而@Resource注解的參數(shù)可以加入變量,變量可以在配置文件中配置。

@RequestMapping("/user")
@RestController
public class UserController {
 
    @Resource(name=  "${system.usercenter}UserServiceImpl")
    private UserService userService;
 
    @GetMapping("/login")
    public String login(){
        return userService.login();
    }
 
}

application.yaml

server:
  port: 8081
 
system:
  usercenter: skyview

到此這篇關(guān)于Springboot根據(jù)配置文件動(dòng)態(tài)注入接口實(shí)現(xiàn)類(lèi)詳解的文章就介紹到這了,更多相關(guān)Springboot動(dòng)態(tài)注入接口實(shí)現(xiàn)類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java線(xiàn)程休眠之sleep方法詳解

    Java線(xiàn)程休眠之sleep方法詳解

    這篇文章主要介紹了Java線(xiàn)程休眠之sleep方法詳解,Thread?類(lèi)中有一個(gè)靜態(tài)方法的sleep方法,當(dāng)該線(xiàn)程調(diào)用sleep方法后,就會(huì)暫時(shí)讓CPU的調(diào)度權(quán),但是監(jiān)視器資源比如鎖并不會(huì)釋放出去,需要的朋友可以參考下
    2024-01-01
  • java解析dbf之通過(guò)javadbf包生成和讀取dbf文件

    java解析dbf之通過(guò)javadbf包生成和讀取dbf文件

    這篇文章主要介紹了java通過(guò)javadbf讀取和生成DBF文件的方法,大家參考使用吧
    2014-01-01
  • Java實(shí)現(xiàn)ECDSA簽名算法

    Java實(shí)現(xiàn)ECDSA簽名算法

    這篇文章主要介紹了Java實(shí)現(xiàn)ECDSA簽名算法,幫助大家更好得利用Java實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法,感興趣的朋友可以了解下
    2020-10-10
  • Java?Stream流的常見(jiàn)生成和操作方法總結(jié)

    Java?Stream流的常見(jiàn)生成和操作方法總結(jié)

    從Java1.8開(kāi)始提出了Stream流的概念,本文將通過(guò)示例為大家詳細(xì)講解一下Stream流的常見(jiàn)生成和操作方法,感興趣的小伙伴可以了解一下
    2022-09-09
  • 使用Java實(shí)現(xiàn)Redis限流的方法

    使用Java實(shí)現(xiàn)Redis限流的方法

    限流的作用是防止某個(gè)段時(shí)間段內(nèi)的請(qǐng)求數(shù)過(guò)多,造成模塊因高并發(fā)而不可用。這篇文章給大家介紹使用Java實(shí)現(xiàn)Redis限流的相關(guān)知識(shí),一起看看吧
    2021-09-09
  • Java Scanner 類(lèi)的使用小結(jié)

    Java Scanner 類(lèi)的使用小結(jié)

    在筆試編程過(guò)程中,關(guān)于數(shù)據(jù)的讀取如果迷迷糊糊,那后來(lái)的編程即使想法很對(duì),實(shí)現(xiàn)很好,也是徒勞,于是在這里認(rèn)真總結(jié)了Java Scanner 類(lèi)的使用,需要的朋友可以參考下
    2018-10-10
  • Java實(shí)現(xiàn)并查集示例詳解

    Java實(shí)現(xiàn)并查集示例詳解

    這篇文章主要通過(guò)一個(gè)題目示例為大家詳細(xì)介紹Java如何實(shí)現(xiàn)并查集,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Gradle構(gòu)建基本的Web項(xiàng)目結(jié)構(gòu)

    Gradle構(gòu)建基本的Web項(xiàng)目結(jié)構(gòu)

    這篇文章主要為大家介紹了Gradle創(chuàng)建Web項(xiàng)目基本的框架結(jié)構(gòu)搭建,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • java占位符替換五種方式小結(jié)

    java占位符替換五種方式小結(jié)

    我們經(jīng)常會(huì)遇到需要替換字符串中的占位符的情況,本文主要介紹了java占位符替換五種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • java實(shí)現(xiàn)折半排序算法

    java實(shí)現(xiàn)折半排序算法

    折半插入排序法,又稱(chēng)二分插入排序法,是直接插入排序法的改良版,也需要執(zhí)行i-1趟插入,不同之處在于,第i趟插入,先找出第i+1個(gè)元素應(yīng)該插入的的位置,假定前i個(gè)數(shù)據(jù)是已經(jīng)處于有序狀態(tài)。
    2015-04-04

最新評(píng)論