摘要:簡(jiǎn)介是框架提供的接口該接口的主要功能就是在接口刷新之前,允許用戶對(duì)實(shí)例做一定的操作。該接口只有一個(gè)方法。實(shí)現(xiàn)該接口實(shí)現(xiàn)該接口,并在方法中打印容器中初始化了多少個(gè)對(duì)象。啟動(dòng)程序啟動(dòng)程序,打印日志容器中初始化數(shù)量原文鏈接
簡(jiǎn)介
ApplicationContextInitializer是Spring框架提供的接口, 該接口的主要功能就是在接口ConfigurableApplicationContext刷新之前,允許用戶對(duì)ConfigurableApplicationContext實(shí)例做一定的操作。該接口只有一個(gè)initialize方法。
ApplicationContextInitializer接口源代碼該接口只定義了一個(gè)initialize方法。
public interface ApplicationContextInitializer實(shí)現(xiàn)該接口{ void initialize(C applicationContext); }
實(shí)現(xiàn)該接口,并在initialize方法中打印容器中初始化了多少個(gè)Bean對(duì)象。
@Order(123) // @Order的value值越小越早執(zhí)行 public class LearnApplicationContextInitializer implements ApplicationContextInitializer { @Override public void initialize(ConfigurableApplicationContext applicationContext) { // 打印容器里面初始化了多少個(gè)Bean System.out.println("容器中初始化Bean數(shù)量:" + applicationContext.getBeanDefinitionCount()); } }接口配置使用 第一種方法
仿照Spring Boot初始化配置使用該接口實(shí)現(xiàn)類的方法,在項(xiàng)目的classpath下創(chuàng)建META-INF/spring.factories文件。并仿照Spring Boot的配置格式進(jìn)行配置:
# Application Context Initializers org.springframework.context.ApplicationContextInitializer= com.secbro2.learn.initializer.LearnApplicationContextInitializer第二種方法
通過(guò)application.properties或application.yml文件進(jìn)行配置。格式如下:
context.initializer.classes=com.secbro2.learn.initializer.LearnApplicationContextInitializer第三種方法
通過(guò)SpringApplication提供的addInitializers方法進(jìn)行追加配置的。
public static void main(String[] args) { SpringApplication app = new SpringApplication(SpringLearnApplication.class, Person.class); app.addInitializers(new LearnApplicationContextInitializer()); app.run(args); }啟動(dòng)程序
啟動(dòng)Spring Boot程序,打印日志:
容器中初始化Bean數(shù)量:6
原文鏈接:https://www.choupangxia.com/2...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/75421.html
摘要:簡(jiǎn)介是框架提供的接口該接口的主要功能就是在接口刷新之前,允許用戶對(duì)實(shí)例做一定的操作。該接口只有一個(gè)方法。實(shí)現(xiàn)該接口實(shí)現(xiàn)該接口,并在方法中打印容器中初始化了多少個(gè)對(duì)象。啟動(dòng)程序啟動(dòng)程序,打印日志容器中初始化數(shù)量原文鏈接 簡(jiǎn)介 ApplicationContextInitializer是Spring框架提供的接口, 該接口的主要功能就是在接口ConfigurableApplicationC...
摘要:注在類上標(biāo)注,不是方法上方法是接口的方法,通過(guò)繼承和實(shí)現(xiàn)擁有了該方法打印容器里面有多少個(gè)打印人所有個(gè)的名字如下的實(shí)現(xiàn)類接口是在容器刷新之前執(zhí)行的一個(gè)回調(diào)函數(shù)。 一、.簡(jiǎn)述 ApplicationContextInitializer是Spring框架原有的概念, 這個(gè)類的主要目的就是在 ConfigurableApplicationContext類型(或者子類型)的...
摘要:設(shè)置應(yīng)用上線文初始化器的作用是什么源碼如下。來(lái)看下方法源碼,其實(shí)就是初始化一個(gè)應(yīng)用上下文初始化器實(shí)例的集合。設(shè)置監(jiān)聽(tīng)器和設(shè)置初始化器調(diào)用的方法是一樣的,只是傳入的類型不一樣,設(shè)置監(jiān)聽(tīng)器的接口類型為,對(duì)應(yīng)的文件配置內(nèi)容請(qǐng)見(jiàn)下方。 Spring Boot 的應(yīng)用教程我們已經(jīng)分享過(guò)很多了,今天來(lái)通過(guò)源碼來(lái)分析下它的啟動(dòng)過(guò)程,探究下 Spring Boot 為什么這么簡(jiǎn)便的奧秘。 本篇基于 S...
摘要:創(chuàng)建及準(zhǔn)備創(chuàng)建。目前已知關(guān)心這個(gè)事件的有要注意的是在這個(gè)階段,里只有,是的加載工作的起點(diǎn)。原因是注入這些回調(diào)接口本身沒(méi)有什么意義。在其構(gòu)造函數(shù)內(nèi)部間接的給注冊(cè)了幾個(gè)與相關(guān)注解的處理器。 相關(guān)代碼在: https://github.com/chanjarster/spring-boot-all-callbacks 注:本文基于spring-boot 1.4.1.RELEASE, spri...
摘要:額外知識(shí)點(diǎn)參考知識(shí)點(diǎn)加載策略資源后,容器啟動(dòng)時(shí)會(huì)調(diào)用的方法。從獲取對(duì)象對(duì)象,如果存在則拋異常。這個(gè)是重點(diǎn)核心的知識(shí)點(diǎn),參考知識(shí)點(diǎn)。看到這里應(yīng)該知道每一層的作用吧,一層一層往上遞進(jìn)第四步正在研讀 1.根據(jù)我們常用的web.xml里,我們找到的org.springframework.web.context.ContextLoaderListener。web.xml如下 moo...
閱讀 3582·2021-10-11 10:59
閱讀 1599·2021-09-29 09:35
閱讀 2267·2021-09-26 09:46
閱讀 3780·2021-09-10 10:50
閱讀 958·2019-08-29 12:17
閱讀 827·2019-08-26 13:40
閱讀 2442·2019-08-26 11:44
閱讀 2111·2019-08-26 11:22