View Javadoc
1   package com.foxinmy.weixin4j.spring;
2   
3   import java.util.Map;
4   
5   import org.springframework.context.ApplicationContext;
6   
7   import com.foxinmy.weixin4j.dispatcher.BeanFactory;
8   
9   /**
10   * 使用spring容器获取bean
11   *
12   * @className SpringBeanFactory
13   * @author jinyu(foxinmy@gmail.com)
14   * @date 2015年8月11日
15   * @since JDK 1.6
16   * @see
17   */
18  public class SpringBeanFactory implements BeanFactory {
19  
20      private ApplicationContext context;
21  
22      public SpringBeanFactory(ApplicationContext context) {
23          this.context = context;
24      }
25  
26      @Override
27      public Object getBean(String name) {
28          return context.getBean(name);
29      }
30  
31      @Override
32      public <T> T getBean(Class<T> classType) {
33          return context.getBean(classType);
34      }
35  
36      @Override
37      public <T> T getBean(String name, Class<T> classType) {
38          return context.getBean(name, classType);
39      }
40  
41      @Override
42      public <T> Map<String, T> getBeans(Class<T> clazz) {
43          return context.getBeansOfType(clazz);
44      }
45  }