springboot獲取上下文ApplicationContext


 

在springboot主程序里改成

public static void main(String[] args) {
//        SpringApplication.run(SpringbootAPP.class, args);換成下面
    SpringApplication sa = new SpringApplication(SpringbootAPP.class);
    sa.addListeners(new MainBusiListeners());
    sa.run(args);
}

 

package com.xxx.xxxx;

import com.xxx.utils.SpringContextUtils;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;

/**
 * 啟動監聽
 */
public class MainBusiListeners implements ApplicationListener<ContextRefreshedEvent> {
    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        SpringContextUtils.setApplicationContextByMain(event.getApplicationContext());
    }
}

 

@Component
public class SpringContextUtils {

    private static ApplicationContext applicationContext;

    public static void setApplicationContextByMain(ApplicationContext applicationContext) {
        if (SpringContextUtils.applicationContext == null) {
            SpringContextUtils.applicationContext = applicationContext;
        }
    }

 

參考文章:https://www.cnblogs.com/qq931399960/p/10184151.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM