1

Spring xml 構成を使用しており、システム環境プロパティが設定されている場合はいずれかの Bean をロードしたい


例えば ​​::

if(system.property is set as "A")
    <bean id="A" class="mypackage.A">
    </bean>
else
    <bean id="B" class="mypackage.B">
    </bean>

SpEl でそれは可能ですか、私が見つけた同様の投稿はCondition Bean の読み込みですが、if else 条件ではありません。豆のローディング。

誰かがこれを達成する方法を知っている場合は共有してください。

4

1 に答える 1

1

Spring Bean プロファイルを使用できます

     <beans profile="A">
       <bean id="A" class="mypackage.A"></bean>
     </beans>

     <beans profile="B">
       <bean id="A" class="mypackage.B"></bean>
     </beans>

これらのプロファイルのいずれかを有効にするには、システム プロパティの値 spring.profiles.activeを A または B に設定します。

Spring 4 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-java-conditionalで提供される条件付き Bean フィルタリング サポートを使用することもでき ます。

于 2015-10-19T05:03:17.953 に答える