spring管理的类如何调用非spring管理的类

Posted 世间草木

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

 

以上是关于spring管理的类如何调用非spring管理的类的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot集成Quartz注入Spring管理的类

java 查找spring管理的类

spring boot 如何将没有注解的类@Autowired

Spring全注解开发---声明式事务模块

spring aop

springboot-9-在非springboot管理的类引入bean