Blame view

java110-utils/src/main/java/com/java110/utils/util/SpringBeanInvoker.java 1.21 KB
88e030b7   王彪总   init project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  package com.java110.utils.util;
  
  
  import org.springframework.beans.BeansException;
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.ApplicationContextAware;
  import org.springframework.stereotype.Component;
  
  @Component
  public class SpringBeanInvoker implements ApplicationContextAware {
  
      private static ApplicationContext applicationContext;
  
      @Override
      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
          if(SpringBeanInvoker.applicationContext == null) {
              SpringBeanInvoker.applicationContext = applicationContext;
          }
      }
  
      //获取applicationContext
      public static ApplicationContext getApplicationContext() {
          return applicationContext;
      }
  
      //通过name获取 Bean.
      public static Object getBean(String name){
          return getApplicationContext().getBean(name);
      }
  
      //通过class获取Bean.
      public static <T> T getBean(Class<T> clazz){
          return getApplicationContext().getBean(clazz);
      }
  
      //通过name,以及Clazz返回指定的Bean
      public static <T> T getBean(String name,Class<T> clazz){
          return getApplicationContext().getBean(name, clazz);
      }
  
  }