類函數中獲取spring-ioc管理的bean


import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

/**
 * @ClassName: ApplicationReadyListener
 * @Description: 應用啓動完成監聽
 * @Author: RuiXin Yu
 * @Date: 2019/10/12 15:38
 */
@Component
public class ApplicationReadyListener implements ApplicationListener<ApplicationReadyEvent> {
    @Override
    public void onApplicationEvent(ApplicationReadyEvent event) {
        System.out.println("==================="+event);
        ApplicationContextUtils.setContext(event.getApplicationContext());
    }
}


import org.springframework.context.ApplicationContext;

/**
 * @ClassName: ApplicationContextUtils
 * @Description: application工具類
 * @Author: RuiXin Yu
 * @Date: 2019/10/12 15:38
 */
public class ApplicationContextUtils {

    private static ApplicationContext context;

    public static void setContext(ApplicationContext applicationContext) {
        context = applicationContext;
    }

    public static Object getBean(String beanName) {
        return context.getBean(beanName);
    }

    public static <T> T getBean(Class<T> t) {
        return context.getBean(t);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章