spring管理的类如何调用非spring管理的类
spring管理的类如何调用非spring管理的类.
就是使用一个spring提供的感知概念,在容器启动的时候,注入上下文即可.
下面是一个工具类.
1 import org.springframework.beans.BeansException; 2 import org.springframework.context.ApplicationContext; 3 import org.springframework.context.ApplicationContextAware; 4 import org.springframework.stereotype.Component; 5 6 /** 7 * spring上下文的持有者: 8 * ApplicationContextAware 可感知ApplicationContex, 9 * 只要实现了该接口的类,交给Spring管理后,Spring就能感知到, 10 * 感知后就会调用setApplicationContext注入当前容器的上下文. 11 * @author lne 12 */ 13 @Component 14 public class SpringApplicationContextHolder implements ApplicationContextAware { 15 16 // 使用一个变量接受ApplicationContext 17 private static ApplicationContext ctx = null; 18 19 @Override 20 public void setApplicationContext(ApplicationContext ctx) throws BeansException { 21 System.out.println(ctx); 22 SpringApplicationContextHolder.ctx = ctx; 23 } 24 25 public static Object getBean(String name) { 26 27 return ctx.getBean(name); 28 } 29 30 public static Object getBean(Class clazz) { 31 32 return ctx.getBean(clazz); 33 } 34 }
一介书生,敲敲键盘而已。