欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java跨模塊調(diào)用方式

 更新時(shí)間:2024年08月27日 09:26:43   作者:animatelife  
這篇文章主要介紹了Java跨模塊調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java常見的調(diào)用其他類或包的方法

  • Spring IoC
  • SPI
  • Listener/Callback
  • EventBus(類比Guava的事件總線)

Spring IoC

  • 將所有類的實(shí)例的生成和管理都交由第三方,調(diào)用方從第三方拿到被調(diào)用方的實(shí)例,從而實(shí)現(xiàn)調(diào)用

SPI

  • SPI即Service Provider Interface,調(diào)用方只有包含該方法的接口,需要調(diào)用方自己將獲取到的接口實(shí)現(xiàn)類實(shí)例注入到容器中,再?gòu)娜萜髦腥〕稣{(diào)用
  • 使用SPI的示例:JDK自帶的ServiceLoader.loader、Dubbo等

Listener/Callback

  • Listener是一個(gè)集合,子模塊A將要使用的方法所在接口的實(shí)例放在這個(gè)集合中,子模塊B將這些接口的實(shí)現(xiàn)類塞進(jìn)這個(gè)集合中,A要使用的時(shí)候就會(huì)看這個(gè)Listener集合具體哪些接口有實(shí)現(xiàn),再通過接口的方式去調(diào)用
  • 使用Listener/Callback的示例:常見的各種GUI、事件處理

EventBus

  • 調(diào)用方通過總線去調(diào)用被調(diào)用方,調(diào)用方與被調(diào)用方使用同一個(gè)總線對(duì)象,調(diào)用方向總線發(fā)送某類型的事件對(duì)象,此時(shí)被調(diào)用方在總線注冊(cè)自己的實(shí)例同時(shí)告訴總線自己訂閱的事件類型,通過相同事件類型實(shí)現(xiàn)了調(diào)用方與被調(diào)用方之間的調(diào)用關(guān)系
  • 調(diào)用方與被調(diào)用方之間的數(shù)據(jù)傳輸,將需要傳輸?shù)臄?shù)據(jù)作為某類型的事件對(duì)象的成員屬性,在實(shí)現(xiàn)調(diào)用關(guān)系的同時(shí),數(shù)據(jù)也得以傳輸
  • 使用EventBus的示例:Guava的事件總線

Java兩個(gè)模塊之間調(diào)用service注入問題

遇到上述問題需要加入以下語(yǔ)句

@SpringBootApplication(scanBasePackages = {“com.heisenberg.weather.pro”,“com.heisenberg.authmgr”})
@MapperScan(basePackages = {“com.heisenberg.weather_pro.mapper”,“com.heisenberg.authmgr.dao”})

需要在調(diào)用別的模塊的主程序上加入scanBasePackages 范圍,要不然程序不知道你引用的是誰(shuí),并且要掃描創(chuàng)建的實(shí)體類的位置basePackages 

否則出現(xiàn)以下情況:

No qualifying bean of type ‘com.zxq.api.dao.UserDao’ available: expected at least …

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java IO讀取文件的實(shí)例詳解

    Java IO讀取文件的實(shí)例詳解

    這篇文章主要介紹了Java IO讀取文件的實(shí)例詳解的相關(guān)資料,主要介紹字符流和字節(jié)流的內(nèi)容,需要的朋友可以參考下
    2017-07-07
  • java面試常問的Runnable和Callable的區(qū)別

    java面試常問的Runnable和Callable的區(qū)別

    大家好,本篇文章主要講的是java面試常問的Runnable和Callable的區(qū)別,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • MyBatis中${}?和?#{}?有什么區(qū)別小結(jié)

    MyBatis中${}?和?#{}?有什么區(qū)別小結(jié)

    ${}?和?#{}?都是?MyBatis?中用來(lái)替換參數(shù)的,它們都可以將用戶傳遞過來(lái)的參數(shù),替換到?MyBatis?最終生成的?SQL?中,但它們區(qū)別卻是很大的,今天通過本文介紹下MyBatis中${}?和?#{}?有什么區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • 詳解Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片

    詳解Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片

    這篇文章主要介紹了Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • poi導(dǎo)出word表格的操作講解

    poi導(dǎo)出word表格的操作講解

    這篇文章主要介紹了poi導(dǎo)出word表格的操作講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-10-10
  • 新手入門了解ArrayList擴(kuò)容機(jī)制

    新手入門了解ArrayList擴(kuò)容機(jī)制

    這篇文章主要介紹了新手入門了解ArrayList擴(kuò)容機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • MyBatis不同Mapper文件引用resultMap實(shí)例代碼

    MyBatis不同Mapper文件引用resultMap實(shí)例代碼

    這篇文章主要介紹了mybatis 不同Mapper文件引用resultMap的實(shí)例代碼,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實(shí)例

    Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實(shí)例

    下面小編就為大家?guī)?lái)一篇Java用POI解析excel并獲取所有單元格數(shù)據(jù)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-10-10
  • SpringBoot的Admin服務(wù)監(jiān)控詳解

    SpringBoot的Admin服務(wù)監(jiān)控詳解

    這篇文章主要介紹了SpringBoot的Admin服務(wù)監(jiān)控詳解,Spring Boot Admin(SBA)是一個(gè)開源的社區(qū)項(xiàng)目,用于管理和監(jiān)控 Spring Boot 應(yīng)用程序,需要的朋友可以參考下
    2024-01-01
  • 解決IDEA中Maven依賴包導(dǎo)入失敗報(bào)紅問題(總結(jié)最有效8種解決方案)

    解決IDEA中Maven依賴包導(dǎo)入失敗報(bào)紅問題(總結(jié)最有效8種解決方案)

    這篇文章主要介紹了解決IDEA中Maven依賴包導(dǎo)入失敗報(bào)紅問題,本文通過圖文詳解給大家總結(jié)了最有效的8種解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論