Spring boot随时获取ApplicationContex

  1. @Service  
  2. public class SpringManager implements ApplicationListener<ContextRefreshedEvent> {  
  3.     private static ApplicationContext applicationContext = null;  
  4.     @Override  
  5.     public void onApplicationEvent(ContextRefreshedEvent event) {  
  6.         if(applicationContext == null){  
  7.             applicationContext = event.getApplicationContext();  
  8.         }  
  9.     }  
  10.     /*ApplicationContext context= ContextLoader.getCurrentWebApplicationContext();//尝试下这个方法*/  
  11.     public static ApplicationContext getApplicationContext() {  
  12.         return applicationContext;  
  13.     }  
  14. }  




  1. 或者  
  2. @Service  
  3. public class SpringTool implements ApplicationContextAware {  
  4.     private static ApplicationContext context = null;  
  5.     @Override  
  6.     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {  
  7.         context = applicationContext;  
  8.     }  
  9.     public static ApplicationContext getApplicationContext() {  
  10.         return context;  
  11.     }  
  12.   
  13.   
  14. }  


  1. 或者直接  
  2.     @Autowired  
  3.     ApplicationContext context;  




原文地址:https://www.cnblogs.com/jpfss/p/8422508.html