如何在不使用applicationContext bean的情况下填充varargs构造函数?

问题描述 投票:0回答:1

我有一个带有可变构造函数的课程

public class ScpDataProvider {
------------
    public ScpDataProvider(DataStore... datastores) {
        for(DataStore d : datastores) {
            if(d.type.equals("SQL"))
                initSqlConnection(d);
            dataStores.AddDataStore(d);
        }
    }
------------
}

如何用数据存储区的bean填充构造函数?结果为Attribute "ref" is not allowed here

<bean id="dataService"
      class="com.fressnapf.sdk.dataaccess.services.impl.ScpDataProvider">
    <constructor-arg>
        <array>
            <bean ref="dataStore" />
            <bean ref="dataStore2" />
        </array>
    </constructor-arg>
</bean>
java javabeans applicationcontext
1个回答
0
投票

您可以使用参考清单:

<bean id="dataService" class="com.fressnapf.sdk.dataaccess.services.impl.ScpDataProvider">
<constructor-arg>
    <list>
         <ref bean ref="dataStore" />
         <ref bean ref="dataStore2" />
    </list>
</constructor-arg>

© www.soinside.com 2019 - 2024. All rights reserved.