av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

SpringBoot上下文初始器加載過程詳解

瀏覽:100日期:2023-05-14 09:50:57

利用 Spring 工廠加載機制,實例化 ApplicationContextInitializer 實現類,并排序對象集合。

關鍵方法

private <T> Collection<T> getSpringFactoriesInstances(Class<T> type,Class<?>[] parameterTypes, Object... args) {ClassLoader classLoader = Thread.currentThread().getContextClassLoader();// Use names and ensure unique to protect against duplicatesSet<String> names = new LinkedHashSet<>(SpringFactoriesLoader.loadFactoryNames(type, classLoader));List<T> instances = createSpringFactoriesInstances(type, parameterTypes,classLoader, args, names);AnnotationAwareOrderComparator.sort(instances);return instances;}

技術實現步驟

實現類: org.springframework.core.io.support.SpringFactoriesLoader 配置資源: META-INF/spring.factories 排序: AnnotationAwareOrderComparator#sort

自定義初始化器

編寫類實現ApplicationContextInitializer接口

有兩種指定順序的方法,第一種:類上加注解@Order(Ordered.HIGHEST_PRECEDENCE),第二種則是實現Ordered接口

@Order(Ordered.HIGHEST_PRECEDENCE)public class HelloWorldApplicationContextInitializer<C extends ConfigurableApplicationContext> implements ApplicationContextInitializer<C> { @Override public void initialize(C applicationContext) { System.out.println('ConfigurableApplicationContext.id = '+ applicationContext.getId()); }}

public class AfterHelloWorldApplicationContextInitializer implements ApplicationContextInitializer, Ordered { @Override public void initialize(ConfigurableApplicationContext applicationContext) { System.out.println('After application.id = ' + applicationContext.getId()); } @Override public int getOrder() { return Ordered.LOWEST_PRECEDENCE; }}

在spring.properties中配置

# ApplicationContextInitializerorg.springframework.context.ApplicationContextInitializer=com.imooc.diveinspringboot.context.AfterHelloWorldApplicationContextInitializer,com.imooc.diveinspringboot.context.HelloWorldApplicationContextInitializer

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 日韩小视频在线观看 | 欧美成人精品一区二区三区在线看 | 国产福利在线视频 | 亚洲福利精品 | 欧美一区二区三区的 | 亚洲va国产va天堂va久久 | 国产成人免费在线视频 | 欧美九九九 | 久久伊人网站 | 亚洲免费福利视频 | 亚洲综合区 | 激情小说在线视频 | 人人插人人爱 | 国产精品手机在线 | 色婷婷成人| 亚洲免费福利视频 | 成人免费黄色大片 | 黄免费视频 | av激情小说| 美女免费网站 | 久热精品在线观看 | 久久婷婷网 | 亚洲第一毛片 | 午夜男人影院 | 国产一区二区在线视频 | 蜜桃色一区二区三区 | 中文字幕日韩欧美 | h片免费看| 国产乱码一区二区三区 | av在线播放观看 | 国产精品一品二区三区的使用体验 | 伊人色综合网 | 99精品网站 | 久久久久久久久久国产 | 三年中文在线观看免费大全中国 | 能看毛片的网站 | 精品国产区 | 久久av片 | 二区在线观看 | 日本黄色三级视频 | jizz中国女人高潮 |