2010-11-22 12 views
4

限りSPELは春3.0、条件(SPEL)

に使用されている私がお願いしたいと思い、(Bean定義の.xmlファイルに)次の操作を行いますすることが可能です:

次のとおりです。 jstlのように。

ありがとうございました。

答えて

5

環境プロファイル/環境固有のBeanは、Spring 3.1ですぐにリリースされる予定です。すぐにリリースする必要があります。

Spring 3.0の条件付きBeanのサポートは組み込まれていません。ただし、PropertyPlaceholderConfigurersおよび/またはFactoryBeansを使用することで実現できます。

0

あなたはXML(しかし、XSLT)でこれを行うことができない私の知る限り、それは、のspelを使用しての問題ではなく、XMLのより

このシナリオのための適切な春の道は "との組み合わせでhttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-classかもしれませんBeanAまたはBeanBのいずれかを作成することになりますが、工場出荷時にパラメータ(システム?ランタイムの特定を?)渡すことができBeanAとBeanB

の親」インターフェース、

2

XMLのSpring Beanのdefintionファイルには、条件付きのメカニズムはありません。 しかし、多分これは動作します:

<bean class="#{prop=='a' ? BeanA : BeanB}"/> 

しかし、このアプローチは働いていたとしても、それは最も読みやすい1ではないでしょう。私の提案は、さまざまなXML設定ファイルのセットを使用し、いくつかのグローバル設定に応じて選択することです。当然のことながら、すべての共通のBean(つまり、定義が常に同じもの)を別々のファイルに入れて、それを常に含むようにします。

+0

はこれを見るためにはすごく喜びました。 javaコマンドラインで定義された "-Dcommand.line.property = development"を使用して作業してください。 –

+0

残念ながら、クラス属性でSpELを使用することはできません。 – vpiTriumph