一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - 淺談Java的SPI技術

淺談Java的SPI技術

2020-07-19 11:26思思博士 JAVA教程

這篇文章主要介紹了Java的SPI技術的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下

人狠話不多,先上截圖和代碼吧。

淺談Java的SPI技術

淺談Java的SPI技術

這是工程目錄。看到resources目錄下面沒有,添加了META-INF和services目錄。

添加了一個com.gys.test.IAnimal文件。這個文件名和上面的接口名完全對應。這個目錄的文件名是有講究的,按照SPI規范來的。

上代碼:

?
1
2
3
4
5
package com.gys.test;
 
public interface IAnimal {
  void eat();
}
?
1
2
3
4
5
6
7
8
9
10
11
package com.gys.test.impl;
 
import com.gys.test.IAnimal;
 
public class Bird implements IAnimal {
 
  @Override
  public void eat() {
    System.out.println("小鳥吃蟲子");
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
package com.gys.test.impl;
 
import com.gys.test.IAnimal;
 
public class Dog implements IAnimal {
  @Override
  public void eat() {
    //System.out.println("小狗吃屎");
    System.out.println("小狗吃骨頭");
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
package com.gys.test;
 
import java.util.ServiceLoader;
 
public class MainTest {
  public static void main(String[] args) {
    ServiceLoader<IAnimal> animals=ServiceLoader.load(IAnimal.class);
    for (IAnimal animal:animals){
      animal.eat();
    }
  }
}

淺談Java的SPI技術

源碼一角說明META-INF/service:

淺談Java的SPI技術

ServiceLoader.load(clsss)就是去ClassPath的MEAT-INF的service下去尋找指定文件;這里的classPath包括外部引入的jar包中的classPath.

如果我們引入了第三方的jar包,如果jar中的META-INF/service有com.gys.test.IAnimal文件,也會被讀取,并且實例化里面的類。

SPI使用場景:

自己提供接口讓別人提供實現的方式;典型的如JDBC模式。

淺談Java的SPI技術

淺談Java的SPI技術

以上就是淺談Java的SPI技術的詳細內容,更多關于JAVA SPI技術的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/guoyansi19900907/p/12765353.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎永久免费地址ww417 | 国产香蕉久久 | 青草影院在线观看 | 人妖女天堂视频在线96 | 青青青久热国产精品视频 | 美女扒开腿让男人桶爽免费gif | 色欧美亚洲 | 国产精品久久久久久久久久久久久久 | 国产高清不卡视频在线播放 | 青青热久麻豆精品视频在线观看 | 日韩一区三区 | www.青草视频| 深夜视频在线播放 | 国产日韩欧美在线一区二区三区 | 精品国产免费第一区二区 | a黄毛片 | 91麻豆精品激情在线观看最新 | 亚洲AV午夜福利精品香蕉麻豆 | 99国产精品免费观看视频 | 99久久一区二区精品 | brazzers办公室 | 水多多凹凸福利视频导航 | 天美传媒果冻传媒星空传媒 | 欧美精品一二三区 | 国产精品久久久久网站 | 久久免费看少妇高潮A片2012 | 91久久偷偷做嫩草影院免费 | 黄网在线观看免费网站台湾swag | 亚洲va久久久噜噜噜久久狠狠 | chinese东北痞子gay | 人人揉揉香蕉 | 精品综合久久久久久88小说 | 睡男神的这件小事小说在线阅读 | 爱福利一区二区 | 色多多视频在线 | 女明星放荡高h日常生活 | 99视频在线观看免费视频 | 日韩在线观看一区二区不卡视频 | 国产精品日韩在线观看 | 日韩伦理在线免费观看 | 91赵邦贺 |