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