2011-08-19 92 views
2

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上連線,但列表依賴關係不是。有什麼我做錯了嗎?目前我只有一個依賴關係,但隨着時間的推移,這種關係將會擴大。

回答

1

我有一個在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 
+0

即使使用編譯時編織不幸的是,不幸的是, –

+0

不做什麼竅門?在我的例子中,列表依賴關係正確地用給定類型的兩個bean填充。 –

+0

即使增加了編譯時間編織,它也不起作用:( –