spring中通过实现ApplicationContextAware接口获取applicationContext
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.Component; 6 7 @Component 8 @Lazy(false) 9 public class SpringContext implements ApplicationContextAware { 10 private static ApplicationContext applicationContext; 11 12 @Override 13 public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 14 SpringContext.applicationContext = applicationContext; 15 } 16 17 private static ApplicationContext getApplicationContext() { 18 return applicationContext; 19 } 20 21 public static Object getBean(String name) { 22 return getApplicationContext().getBean(name); 23 } 24 25 public static <T> T getBean(Class<T> clazz) { 26 return getApplicationContext().getBean(clazz); 27 } 28 29 public static <T> T getBean(String name, Class<T> clazz) { 30 return getApplicationContext().getBean(name, clazz); 31 } 32 }
欺骗自己最简单,欺骗自己最困难。
安慰自己最简单,安慰自己最困难。