代码之家  ›  专栏  ›  技术社区  ›  KIC

为许多实现使用beans.xml连接存储库

  •  2
  • KIC  · 技术社区  · 6 年前

    我每天有三个接口 CsvParser , DboMapper CrudRepository . 现在我有100个实现,我想用beans.xml将它们连接到一个映射中。然后,无论我得到什么文件,我都只需要相应的解析器、映射器和存储库来完成这项工作。

     <context:component-scan base-package="xxx" />
     <jpa:repositories base-package="xxx" />
    
     <util:map id="loaders" map-class="java.util.HashMap">
            <entry key="account-list.csv"><ref bean="accountListLoader" /></entry>
            <!-- more to come -->
        </util:map>
     <bean id="accountListLoader" class="xxx.etl.CsvFileLoader">
        <constructor-arg index="0">
            <bean class="xxx.model.implementations.accountlist.AccountListCsvParser" />
        </constructor-arg>
        <constructor-arg index="1">
            <bean class="xxx.model.implementations.accountlist.AccountListMapper"/>
        </constructor-arg>
        <constructor-arg index="2">
            <bean class="xxx.model.implementations.accountlist.AccountListRepositoryImpl" />
        </constructor-arg>
    </bean>
    

    或者是一种 @Autowire 像这样的?我的意思是把一个接口的几十个实现自动连接成一个映射?

    1 回复  |  直到 6 年前
        1
  •  0
  •   KIC    6 年前

    实际上,我最终使用了 Applicationcontext#getBean 和一个 SimpleJpaRepository answer