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 }

 

posted @ 2016-10-31 18:19  世间草木  阅读(1418)  评论(0编辑  收藏  举报