From d9226402cfd7a3c7b8b24c8a819d9cb434b40cb7 Mon Sep 17 00:00:00 2001 From: jinyu Date: Tue, 5 Apr 2016 16:58:56 +0800 Subject: [PATCH] add SpringBeanFactory.java --- weixin4j-server/pom.xml | 6 +++ .../weixin4j/spring/SpringBeanFactory.java | 46 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 weixin4j-server/src/main/java/com/foxinmy/weixin4j/spring/SpringBeanFactory.java diff --git a/weixin4j-server/pom.xml b/weixin4j-server/pom.xml index 7ab5119f..d4a90fa6 100644 --- a/weixin4j-server/pom.xml +++ b/weixin4j-server/pom.xml @@ -44,5 +44,11 @@ test + + org.springframework + spring-context + 4.2.0.RELEASE + test + \ No newline at end of file diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/spring/SpringBeanFactory.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/spring/SpringBeanFactory.java new file mode 100644 index 00000000..0a22dc38 --- /dev/null +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/spring/SpringBeanFactory.java @@ -0,0 +1,46 @@ +package com.foxinmy.weixin4j.spring; + +import java.util.Map; + +import org.springframework.context.ApplicationContext; + +import com.foxinmy.weixin4j.dispatcher.BeanFactory; +import com.foxinmy.weixin4j.exception.WeixinException; + +/** + * 使用spring容器获取bean + * + * @className SpringBeanFactory + * @author jy + * @date 2015年8月11日 + * @since JDK 1.6 + * @see + */ +public class SpringBeanFactory implements BeanFactory { + + private ApplicationContext context; + + public SpringBeanFactory(ApplicationContext context) { + this.context = context; + } + + @Override + public Object getBean(String name) throws WeixinException { + return context.getBean(name); + } + + @Override + public T getBean(Class classType) throws WeixinException { + return context.getBean(classType); + } + + @Override + public T getBean(String name, Class classType) throws WeixinException { + return context.getBean(name, classType); + } + + @Override + public Map getBeans(Class clazz) throws WeixinException { + return context.getBeansOfType(clazz); + } +} \ No newline at end of file