2016-05-28 12 views
1

私は、我々は上記のリストを参照したい場合は、我々は"util:list" bean内でBeanを参照する方法は?

<ref bean="myBeanList" /> 

のようなものを使用することができます。しかし、私が参照してくださいしたくないことを知っている

<util:list id="myBeanList"> 
<bean id="stage1" class="Stageclass"/> 
<bean id="stage2" class="Stageclass"/> 
</util:list> 

以下のようにBean定義を持っていますリスト全体ではなく、このリストの中の特定のBeanを参照したいとします。たとえば、 "stage1"と言います。 <ref bean="myBeanList$stage1" />のようなものでしょうか?

このような内部のBeanを参照することはできますか?はい、どうすればいいですか?

答えて

1

これを行うにはSpring Expression Languageを使用できます。

<ref bean="#{myBeanList[0]}" /> 

ただし、リスト内のBeanのIDでアクセスできるかどうかはわかりません。 Listでは、BeanのIDや名前(本質的にMapの種類のパターン)によって何かにアクセスすることはできません。名前でアクセスする必要がある場合は、すべてのBeanをマップに配置し、式言語を名前でアクセスできるようにする必要があります。 Bean IDでマップから要素にアクセスする方法については、Here is an exampleを参照してください。

私が見つけた表現言語の参照は、thisです。 studentListがspring-config.xmlでどのように使われているかを見てみましょう。

+0

これはコアスプリングの一部ですか、またはmaven pom.xmlに任意のjarファイルを追加する必要がありますか、またはこれに関する任意のスプリング関連のxmlnsをインポートする必要がありますか? – keya

+0

適切なバージョンのpom.xmlにspring-expressionの依存関係を追加する必要があります。http://mvnrepository.com/artifact/org.springframework/spring-expression –

+0

リストは、私の場合はインデックスで参照できません。未修理。とにかく名前またはIDを使用してBeanにアクセスするとわかったらお知らせください。私は答えをアップアップしています。ありがとうございました。 – keya

関連する問題