按照this问题,似乎您可以声明以下内容并将其“起作用”:

@Configurable(autowire=Autowire.BY_TYPE)
public class Target {

    private List<Dependency> dependencies;

    public List<Dependency> getDependencies() {
        return this.dependencies;
    }

    @Autowired
    public void setDependencies(List<Dependency> dependencies) {
        this.dependencies = dependencies;
    }
}


应用环境:

<beans>
    <!-- where all extend Dependency -->
    <bean class="com.dependencies.SubDependency"/>
    <bean class="com.dependencies.SubSubDependency"/>
</beans>


根据手册,这应该“正常工作”,但事实并非如此。其他依赖项连接在Target上,但列表依赖项不是。我做错了什么吗?目前,我只有一个依赖关系,但是随着时间的流逝,它会不断扩大。

最佳答案

我有一个在github上进行构建时编织的示例。如果您的织布工没有问题,也许您可​​以通过比较确定问题所在。您可以browse it或克隆并运行它:

git clone git://github.com/zzantozz/testbed.git tmp
cd tmp
mvn -q compile exec:java -Dexec.mainClass=rds.spring.SpringConfigurable \
    -pl spring-aspectj-build-time-weaving

关于java - Spring不会通过加载时织布器 Autowiring 集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7116363/

10-08 22:15