中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

天津自己制作網(wǎng)站網(wǎng)站新站整站排名

天津自己制作網(wǎng)站,網(wǎng)站新站整站排名,免費(fèi)網(wǎng)站申請(qǐng)注冊(cè),學(xué)歷提升的正規(guī)機(jī)構(gòu)SPI spi : service provider interface : 是java的一種服務(wù)提供機(jī)制,spi 允許開發(fā)者在不修改代碼的情況下,為某個(gè)接口提供實(shí)現(xiàn)類,來(lái)擴(kuò)展應(yīng)用程序 將實(shí)現(xiàn)類獨(dú)立到配置文件中,通過(guò)配置文件控制導(dǎo)入&#xff…
SPI

spi : service provider interface : 是java的一種服務(wù)提供機(jī)制,spi 允許開發(fā)者在不修改代碼的情況下,為某個(gè)接口提供實(shí)現(xiàn)類,來(lái)擴(kuò)展應(yīng)用程序

在這里插入圖片描述
將實(shí)現(xiàn)類獨(dú)立到配置文件中,通過(guò)配置文件控制導(dǎo)入:

在這里插入圖片描述

 public static void main(String[] args) {ServiceLoader<Animal> load = ServiceLoader.load(Animal.class);for (Animal animal : load) {animal.sound();}}

就會(huì)導(dǎo)入Animal的兩個(gè)實(shí)現(xiàn)類

問(wèn)題:

  • spi 和一般的面向接口變成有什么區(qū)別?,,使用spi導(dǎo)入和直接用,不是一樣的嗎
    • 動(dòng)態(tài)加載實(shí)現(xiàn)類
      在一般的面向接口變成中,通常需要顯示的創(chuàng)建實(shí)現(xiàn)類,,,通過(guò)spi機(jī)制,可以在運(yùn)行時(shí)動(dòng)態(tài)加載實(shí)現(xiàn)類,無(wú)需在代碼中指定具體的實(shí)現(xiàn)類,代碼更加靈活可擴(kuò)展
    • 配置文件
      一般在面向接口編程中,通常在代碼中顯示的指定具體的實(shí)現(xiàn)類,,顯示的注入實(shí)現(xiàn)類,,而spi使用配置文件 META-INF/services 指定接口實(shí)現(xiàn)類,如果要新增或者切換實(shí)現(xiàn)類,那么只需要修改配置文件即可,,

spi使得應(yīng)用程序設(shè)計(jì),更具靈活性,模塊化,可擴(kuò)展性,,它通過(guò)動(dòng)態(tài)加載實(shí)現(xiàn)類,解耦接口和實(shí)現(xiàn),以及使用配置文件來(lái)實(shí)現(xiàn)這些特性,,從而使得應(yīng)用程序更加智能的加載,和使用模塊

springboot自動(dòng)裝配

springboot自動(dòng)裝配是 SPI 思想的一種應(yīng)用

@SpringbootApplication : 聲明這個(gè)類是個(gè)引導(dǎo)類,或者叫 配置類
是一個(gè)復(fù)合注解

  • @SpringbootConfiguration
  • @ComponentScan : 掃描當(dāng)前包下 及其子包的 @Component 標(biāo)記的類
  • @EnableAutoConfiguration

自動(dòng)裝配里面用了 @Import 和 ImportSelector接口,,

@Import和ImportSelector使用

創(chuàng)建了一個(gè)配置類 :

@Configuration
public class MyConfig {@Beanpublic Watermelon watermelon(){return new Watermelon();}
}

可以使用 @Import(MyConfig.class) 直接導(dǎo)入配置類,

//@ComponentScan
//    @Import(MyConfig.class)@Import(FruitConfigurationSelector.class)
public class FruitApplication {public static void main(String[] args) {// 默認(rèn)啟動(dòng)web服務(wù)器,@ComponentScan會(huì)去掃web服務(wù)器ConfigurableApplicationContext context = new SpringApplicationBuilder(FruitApplication.class).web(WebApplicationType.NONE)  // 關(guān)閉web服務(wù)器.run(args);Watermelon watermelon = (Watermelon) context.getBean("watermelon");System.out.println("watermelon = " + watermelon);}
}

也可以使用 @Import 導(dǎo)入 ImportSelector 的實(shí)現(xiàn)類,,這個(gè)實(shí)現(xiàn)類返回一個(gè)數(shù)組,表示要注入的bean的全限定類名的集合

public class FruitConfigurationSelector implements ImportSelector {@Overridepublic String[] selectImports(AnnotationMetadata importingClassMetadata) {return new String[]{MyConfig.class.getName()};}}
@EnableXXXAutoConfiguration

寫一個(gè)注解,在這個(gè)注解上面,使用@Import 導(dǎo)入若干要導(dǎo)入的Bean,,
為什么要有@EnableXXXAutoConfiguration : 模塊裝配 ,如果同時(shí)需要幾個(gè)模塊,使用@EnableXXXAutoConfiguration 裝配整合成一個(gè)

springboot中@EnableAutoConfiguration

在這里插入圖片描述
ImportSelector 中的 selectImports方法 去導(dǎo)入bean,,
getCandidateConfigurations方法 去加載 spring.factories 中的配置,,預(yù)選配置再根據(jù)@Conditional去判斷哪些要注入容器
在這里插入圖片描述

在這里插入圖片描述

http://www.risenshineclean.com/news/62301.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)網(wǎng)頁(yè)設(shè)計(jì)游戲代理加盟平臺(tái)
  • seo兼職論壇手機(jī)優(yōu)化大師官網(wǎng)
  • 怎么快速推廣網(wǎng)站萬(wàn)網(wǎng)域名交易
  • 建行信用卡網(wǎng)站登錄網(wǎng)站域名查詢系統(tǒng)
  • 那個(gè)網(wǎng)站做外貿(mào)好百度大搜是什么
  • dw做的網(wǎng)站鏈接不會(huì)跳轉(zhuǎn)什么是搜索引擎優(yōu)化
  • 做期貨網(wǎng)站微營(yíng)銷平臺(tái)系統(tǒng)
  • 西寧網(wǎng)站設(shè)計(jì)制作公司品牌推廣軟文200字
  • 只做襯衫的網(wǎng)站關(guān)鍵詞采集軟件
  • 沈陽(yáng)網(wǎng)站建設(shè)找哪家系統(tǒng)優(yōu)化軟件哪個(gè)好
  • 企業(yè)網(wǎng)站建設(shè)方案書范本域名批量查詢
  • 網(wǎng)站 續(xù)費(fèi)商業(yè)策劃公司十大公司
  • 網(wǎng)站后端都需要什么意思網(wǎng)站交換鏈接的常見形式
  • 企業(yè)展示型電商網(wǎng)站模板google關(guān)鍵詞規(guī)劃師
  • php和什么語(yǔ)言做網(wǎng)站豬肉價(jià)格最新消息
  • 在越南做網(wǎng)站需要什么排超聯(lián)賽積分榜
  • 工業(yè)做網(wǎng)站技能培訓(xùn)有哪些科目
  • 大連城市建設(shè)管理局網(wǎng)站建站公司網(wǎng)站建設(shè)
  • 自己的網(wǎng)站首頁(yè)背景怎么做最有效的宣傳方式
  • 義烏做網(wǎng)站的公司哪家好廣州seo外包
  • 桂林做網(wǎng)站網(wǎng)絡(luò)營(yíng)銷推廣方案范文
  • 完備的網(wǎng)站建設(shè)推廣做網(wǎng)站推廣一般多少錢
  • 長(zhǎng)沙小升初有什么做試卷的網(wǎng)站濟(jì)南網(wǎng)站優(yōu)化排名推廣
  • 北京做網(wǎng)站公司有哪些百度怎么優(yōu)化網(wǎng)站關(guān)鍵詞
  • ssm如何做網(wǎng)站驗(yàn)證登陸綜合型b2b電子商務(wù)平臺(tái)網(wǎng)站
  • 如何在網(wǎng)上接做網(wǎng)站的小項(xiàng)目抖音seo
  • 建設(shè)導(dǎo)航網(wǎng)站百度投訴電話人工服務(wù)總部
  • 學(xué)校門戶網(wǎng)站建設(shè)的意義怎樣做好銷售和客戶交流
  • 怎么建設(shè)網(wǎng)站臨汾撫州seo外包
  • 鄭州專業(yè)手機(jī)網(wǎng)站制作semiconductor是什么意思