如何在XML配置中有条件地实例化bean?

时间:2019-03-07 16:58:26

标签: xml spring-boot

<bean id="profListener" class="listner.ProfListener"/>

配置文件分别为prod,qaod和jc activekc是我从yml文件中读取的另一个属性。

理想情况下,我想做类似的事情 如果profile.contains(activekc) 然后实例化那个bean 或仅在不将控件转移给侦听器的情况下运行。

该xml配置文件还有其他bean,我希望所有配置文件都实例化。所以我需要一个针对该特定bean的条件。

1 个答案:

答案 0 :(得分:0)

您可以使用主要profile标签的beans属性。因此,每个配置文件可能都有一个单独的上下文xml。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd"
  profile="prod,qaod">

 <bean id="profListener" class="listner.ProfListener"/>
</beans>