Skip to content

huyinmiao/bird-factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

bird-factory

结合spring支持List注入,能从List根据key取出匹配的bean实例。是一种通用模式的工厂。

支付示例

渠道标识 名称
Alipay 支付宝
WeChatPay 微信支付

问题:我们根据 渠道标识 从spring上下文中获取对应的PayService的实现类?

方案:spring 支持 List 注入,只要遍历List 中每个元素,以此匹配判断是否是目标类。

使用说明

如果你的spring版本<4,需要使用下面的配置,否则不需要。

首先,你需要通过spring的xml配置将cn.hym.factory.ArrayBeanFactory 的编辑器注册到 CustomEditorConfigurer中,如下所示

    <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
        <property name="customEditors">
            <map>
                <entry key="cn.hym.factory.ArrayBeanFactory" value="cn.hym.factory.BeanFactoryServiceEditor"></entry>
            </map>
        </property>
    </bean>

然后你就可以愉快的使用了,参考 测试样例。

About

Get matching beans from the factory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages