java - 如何在xml中按条件创建bean?

标签 java spring spring-boot

我正在使用 xml 配置创建以下 bean:

<int-ip:tcp-outbound-gateway id="gate"
    request-channel="input"
    reply-channel="clientBytes2StringChannel"
    connection-factory="factory"/>

如何根据条件进行配置,例如 application.properties 中包含的值?

我是 spring 4,我可以使用@ConditionalOnExpression("SpEL"),但是我如何在 xml 中实现相同的效果?

最佳答案

您可以使用Spring Profiles有条件地创建bean。例如

<beans profile="dev">
    <bean id="devDatasourceConfig" class="" />
</beans>

<beans profile="production">
    <bean id="productionDatasourceConfig" class=" " />
</beans>

您可以按如下方式激活配置文件:

JVM系统参数:

-Dspring.profiles.active=dev

环境变量:

export spring_profiles_active=dev

关于java - 如何在xml中按条件创建bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29512658/

相关文章:

spring-boot - Zuul -> Eureka 服务器,基本认证问题

java - 在 Spring App 中将 MockitoMVC 与 Junit 一起使用时出现 Stackoverflow 错误

java - 当 Id 由数据库设置时,使用 Mockito 测试服务

java - 使用 XPath 更改文本内容

java - 当两个字符串都可以为空时如何比较两个字符串?

java - 使用 JDBC 的 Spring session 插入失败

java - 读取 .owl 文件时出现 org.apache.jena.riot.RiotException

java - 回调是什么意思?

java - 拦截器 preHandle() 未重定向到 login.html

java - API架构中断路器设计模式的优势是什么?