实现ApplicationContextAware接口时,获取ApplicationContext为null
Posted 九人稚。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现ApplicationContextAware接口时,获取ApplicationContext为null相关的知识,希望对你有一定的参考价值。
将懒加载关闭,@Lazy(false),默认为true
1 import org.springframework.beans.BeansException; 2 import org.springframework.context.ApplicationContext; 3 import org.springframework.context.ApplicationContextAware; 4 import org.springframework.context.annotation.Lazy; 5 import org.springframework.stereotype.Service; 6 7 @Service 8 @Lazy(false) 9 public class SpringContextUtil implements ApplicationContextAware { 10 11 private static ApplicationContext applicationContext = null; // Spring应用上下文环境 12 13 /* 14 * 15 * 实现了ApplicationContextAware 接口,必须实现该方法; 16 * 17 * 通过传递applicationContext参数初始化成员变量applicationContext 18 */ 19 20 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 21 SpringContextUtil.applicationContext = applicationContext; 22 } 23 24 public static ApplicationContext getApplicationContext() { 25 return applicationContext; 26 } 27 28 @SuppressWarnings("unchecked") 29 public static <T> T getBean(String name) throws BeansException { 30 return (T) applicationContext.getBean(name); 31 } 32 33 }
以上是关于实现ApplicationContextAware接口时,获取ApplicationContext为null的主要内容,如果未能解决你的问题,请参考以下文章
实现ApplicationContextAware接口时,获取ApplicationContext为null
通过实现ApplicationContextAware接口动态获取bean
ApplicationContextAware接口实现多继承Bean装配
在spring项目中,普通类注入获取Bean,实现ApplicationContextAware接口