国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Spring常用注解@Import的三種使用方式,你都了解了嗎?

開發 前端
在Spring4.2之前的版本中被導入的類必須是配置類也就是類上有@Configuration注解,4.2后的版本隨意一個普通類也可以。

環境:SpringBoot2.6.12

三種方法說明

  1. 直接導入普通數組的方式
  2. 導入ImportSelector類方式
  3. 導入ImportBeanDefinitionRegistrar方式

被導入的類加入到Spring IOC容器中。

直接導入普通數組的方式

public class A {
  @Bean
  public B b() {
    return new B() ;
  }

在配置類中導入上面的類

@Import({A.class})
@Configuration
public class ImportConfig {
}

這樣A,B都被Spring IOC容器管理了。這里可以導入多個類。

注意:在Spring4.2之前的版本中被導入的類必須是配置類也就是類上有@Configuration注解,4.2后的版本隨意一個普通類也可以。

測試

@Resource
private A a ;
@Resource
private B b ;
  
@Test
public void testImport() {
  System.out.println("a = " + a) ;
  System.out.println("b = " + b) ;
}

圖片圖片

沒問題,能正常的輸出。

注意,請看下面的示例:

public class ImportMain {


  static class Person{
  }
  
  static class A{
    @Bean
    public Person p() {
      Person person = new Person();
      System.out.println("p(), " + person) ;
      return person ;
    }
    @Bean
    public Date d() {
      Person p = p() ;
      System.out.println("d(), " + p) ;
      return new Date() ;
    }
  }
  @Import({A.class})
  @Configuration
  static class AppConfig {
  }
}

在上面的示例中在d()方法中調用p()方法,那這里得到的Person對象和p()方法中定義的是同一個嗎?

在上面的代碼中一定不是同一個,輸出如下:

p(), com.pack.main.importaware.ImportMain$Person@18dfcc1
p(), com.pack.main.importaware.ImportMain$Person@19f7dcf
d(), com.pack.main.importaware.ImportMain$Person@19f7dcf

分別是兩個不同的對象,如何解決呢?我們只需要在A類上添加@Configuration即可,添加了該類后Spring容器首先會對當前的A這個類創建代理,當我們在A這個類中調用其它方法的時候會通過攔截器BeanMethodInterceptor進行攔截;在該攔截器中會根據你調用的方法來確定對應的beanName,然后在容器中查找是否有對應的Bean,如果有則直接返回,所以就確保了在當前類中你不管調用多少次其它@Bean方法都能保證是同一個對象。

導入ImportSelector類方式

通過實現ImportSelector接口

public class E {
  @Bean
  public G g() {
    return new G() ;
  }
}
public class F {
}
public class G {
}

配置類

@Import({C.class, A.class})
@Configuration
public class ImportConfig {
}

實現ImportSelector接口

public class C implements ImportSelector {


  @Override
  public String[] selectImports(AnnotationMetadata importingClassMetadata) {
    return new String[] {"com.pack.import_annotation.E", "com.pack.import_annotation.F"};
  }


}

這里的返回值中必須是完整的包名+類名

注意:這里可以返回空的String數組(length = 0),但是不能返回null。實現ImportSelector該接口的這個本身是不會被注冊為Bean的。

測試

@Resource
private E e ;
@Resource
private F f ;
@Resource
private G g ;
  
@Test
public void testImport() {
  System.out.println("e = " + e) ;
  System.out.println("f = " + f) ;
  System.out.println("g = " + g) ;
}

圖片圖片

導入ImportBeanDefinitionRegistrar方式

public class H implements ImportBeanDefinitionRegistrar {


  @Override
  public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
    GenericBeanDefinition beanDefinition = new GenericBeanDefinition() ;
    beanDefinition.setBeanClass(X.class) ;
    // 給X這個類配置屬性name值
    beanDefinition.getPropertyValues().addPropertyValue("name", "張三") ;
    // x 為當前X類在Spring容器中的beanName
    registry.registerBeanDefinition("x", beanDefinition) ;
  }


}

配置類

public class X {
  
  private String name ;


  public String getName() {
    return name;
  }


  public void setName(String name) {
    this.name = name;
  }
  
}
@Import({C.class, A.class, H.class})
@Configuration
public class ImportConfig {
}

測試:

圖片圖片

注意:實現ImportBeanDefinitionRegistrar該接口本身這個類是不會被注冊為Bean的。

完畢!!!

責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2022-07-18 09:41:29

屬性類型安全Spring

2024-02-19 08:40:22

2023-06-26 07:32:43

Kubernetes容器

2012-07-17 09:16:16

SpringSSH

2023-11-27 00:48:46

displayvisibility

2024-03-20 08:31:40

KotlinExtension計算

2023-11-06 17:37:17

技術架構任務隊列

2023-04-23 09:50:50

@BeanSpring

2023-04-28 12:37:59

Spring@Bean使用方式

2022-10-24 08:45:23

數據庫應用場景區塊鏈

2023-12-14 12:55:41

Pythondel語句

2023-09-27 16:29:55

開發團隊信息

2024-01-03 08:08:51

Pulsar版本數據

2025-02-17 08:18:27

C#TypeScriptJavaScript

2023-05-09 09:00:20

版本Canary框架

2009-07-20 15:08:41

Spring實例化Be

2011-06-03 11:53:06

Spring接口

2025-01-21 00:00:00

權限模型RBAC

2023-10-26 07:09:30

Golangrune字符

2023-10-12 16:39:00

點贊
收藏

51CTO技術棧公眾號

国产视频九色蝌蚪| 91亚洲国产高清| 91精品91久久久久久| 国产视频一区三区| 亚洲色图38p| 日韩午夜在线观看视频| 成功精品影院| 日韩视频在线播放| 亚洲一区二区三区四区五区中文| 性爽视频在线| 91成人理论电影| 久久九九全国免费| 欧美性受ⅹ╳╳╳黑人a性爽| 日本在线精品视频| 成人免费的视频| 91成人高清| 欧美精品videosex牲欧美| 久久久噜噜噜| 在线免费色视频| 久久精品在线视频| 日本不卡的三区四区五区| 麻豆电影在线| 久久艹在线视频| 美女性感视频久久| 大乳在线免费观看| 国产精品成人av性教育| 国产精品亚洲一区二区三区在线| av在线电影免费观看| 欧美一级视频一区二区| 成人动漫视频在线| 亚洲大胆人体大胆做受1| 91网站在线免费观看| 亚洲欧洲另类国产综合| 伊人国产精品| 国产 国语对白 露脸| 精品日韩在线观看| 亚洲久久一区| 看电影就来5566av视频在线播放| 久久久久久久激情视频| 成人黄页在线观看| 国模冰冰炮一区二区| 欧美成人精品一区二区| 久久一留热品黄| 香蕉伊大人中文在线观看| 久久久久免费精品国产| 国产精品麻豆久久久| 美女看a上一区| 日韩一级特黄| 国产精品入口芒果| 色综合天天狠天天透天天伊人| 亚洲va电影大全| 久久久不卡网国产精品二区| 夜鲁夜鲁夜鲁视频在线播放| 日本不卡免费新一二三区| 欧美日韩国产欧美日美国产精品| 外国成人免费视频| 日本在线视频1区| 成人午夜在线影院| 日韩欧中文字幕| 成人女性视频| 天堂av中文在线资源库| 国产人妖伪娘一区91| 丁香五六月婷婷久久激情| 久久久久电影| 日本中文字幕在线播放| 日本不卡二区高清三区| 亚洲精品视频网上网址在线观看| 久久黄色免费看| 欧美在线欧美在线| 福利一区福利二区微拍刺激| 国产精品99精品久久免费| 国产精品久久久久久福利| 北条麻妃在线| 亚洲日韩中文字幕| 成人亚洲精品久久久久软件| 美女免费视频一区二区| 亚洲一区日韩| 色影视在线观看| av女优在线| freexxx性亚洲精品| 已婚少妇美妙人妻系列| 裸体xxxx视频在线| 精品久久久网| 欧美午夜免费| 日韩精品欧美国产精品忘忧草| 粉嫩av一区二区三区在线播放| 亚洲热av色在线播放| 精品视频免费在线播放| 91高清视频免费| 在线观看高清免费视频| 91久久嫩草影院一区二区| 亚洲成人动漫av| 国产精品成人午夜| 高清不卡在线观看av| 91视频在线观看免费| 免费一级片91| 国产一区精品福利| 特级毛片在线免费观看| 欧美一级视频免费看| 大桥未久女教师av一区二区| 99久久精品国产麻豆演员表| 老**午夜毛片一区二区三区| 成人高清视频免费观看| 亚洲午夜成aⅴ人片| 久久久精品国产免大香伊| 国产精品99精品一区二区三区∴| 日本中文字幕在线2020| 激情五月亚洲色图| 一区在线电影| 91丝袜美腿美女视频网站| 国产一区二区三区中文| 中文字幕日韩av| 超碰97人人在线| 9999在线观看| 欧美一级黄色录像片| 水蜜桃一区二区三区| 国产女主播av| 亚洲高潮无码久久| 图片区小说区区亚洲五月| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 97国产在线播放| 老鸭窝av在线| 超碰在线免费公开| 4438全国亚洲精品观看视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 一区二区高清| 色欧美乱欧美15图片| 中日韩午夜理伦电影免费| 97在线视频国产| 97精品国产97久久久久久| 亚洲天堂电影网| 麻豆传媒一区| 黄色一级大片免费| 欧美性少妇18aaaa视频| 一区二区日本视频| 亚洲宅男一区| 国产欧美一区二区精品久久久| 国产精品日韩精品在线播放 | 国产美女一区视频| 国产精品久久国产| 国产aaaaa毛片| wwwjizzjizzcom| 免费在线国产精品| 精品伦精品一区二区三区视频| 亚洲精品欧美极品| 92国产精品视频| 91精品视频一区| 可以在线观看的黄色| 国产成人亚洲欧美| 国产亚洲精品美女久久久久| 亚洲精品国产高清久久伦理二区| 99av国产精品欲麻豆| 免费看一区二区三区| 日本中文字幕在线播放| 日本老熟妇毛茸茸| 欧美一区二区三区电影在线观看| 色综合视频一区中文字幕| 欧美裸体一区二区三区| 日本一区二区在线不卡| 久久这里有精品15一区二区三区| 国产劲爆久久| 亚洲二区在线| 奇米色一区二区| 亚洲三级电影网站| 精品视频一区二区三区在线观看| 青青操视频在线| 男人的天堂狠狠干| 产国精品偷在线| 欧美激情视频一区二区| 欧美电影在线免费观看| 亚洲天堂久久久久久久| 麻豆网站在线免费观看| 神马午夜久久| 色婷婷热久久| 亚洲精品成人自拍| 欧美在线性爱视频 | 欧美在线高清视频| 久久久.com| 美女在线视频一区| 天天综合久久| 好吊妞国产欧美日韩免费观看网站| 暖暖在线中文免费日本| 飘雪影院手机免费高清版在线观看| 欧美激情国产精品日韩| 亚洲一区高清| 黄色国产精品一区二区三区| 国产99在线|中文| 欧美成年人网站| 亚洲精品日韩久久久| 欧美区在线观看| 精品国产91乱高清在线观看| 中文字幕乱码久久午夜不卡 | 色噜噜久久综合伊人一本| 制服丝袜在线91| 欧美日韩亚洲一区二| 亚洲欧美另类在线| 国产欧美久久久精品影院| www.在线欧美| 成人精品国产免费网站| 国产麻豆成人精品|