潘志宝
4 天以前 b8a0affd03b5fa9fa33cd6f870e90394c2df86c7
提交 | 用户 | 时间
a6de49 1 /**
H 2  * Copyright (c) 2018 人人开源 All rights reserved.
3  *
4  * https://www.renren.io
5  *
6  * 版权所有,侵权必究!
7  */
8
9 package com.iailab.framework.common.util.spring;
10
11 import org.springframework.beans.BeansException;
12 import org.springframework.context.ApplicationContext;
13 import org.springframework.context.ApplicationContextAware;
14 import org.springframework.stereotype.Component;
15
16 /**
17  * Spring Context 工具类
18  * 
19  * @author Mark sunlightcs@gmail.com
20  */
21 @Component
22 public class SpringContextUtils implements ApplicationContextAware {
23     public static ApplicationContext applicationContext; 
24
25     @Override
26     public void setApplicationContext(ApplicationContext applicationContext)
27             throws BeansException {
28         SpringContextUtils.applicationContext = applicationContext;
29     }
30
31     public static Object getBean(String name) {
32         return applicationContext.getBean(name);
33     }
34
35     public static <T> T getBean(Class<T> requiredType) {
36         return applicationContext.getBean(requiredType);
37     }
38
39     public static <T> T getBean(String name, Class<T> requiredType) {
40         return applicationContext.getBean(name, requiredType);
41     }
42
43     public static boolean containsBean(String name) {
44         return applicationContext.containsBean(name);
45     }
46
47     public static boolean isSingleton(String name) {
48         return applicationContext.isSingleton(name);
49     }
50
51     public static Class<? extends Object> getType(String name) {
52         return applicationContext.getType(name);
53     }
54
55 }