您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

编写Spring Integration Test时从Spring Component扫描中排除特定的类

编写Spring Integration Test时从Spring Component扫描中排除特定的类

您可以@Conditional如下所示使用。

如果需要更多信息,请在评论中告知。

除主要@conditional注释外,还有一组类似的注释可用于不同情况。

@ConditionalOnClass@ConditionalOnMissingClass注解允许基于特定类的存在或不存在要被包括配置。

例如,何时OObjectDatabaseTx.class将其添加到依赖项,并且没有OrientWebConfigurerbean,我们将创建配置器

@Bean
@ConditionalOnWebApplication
@ConditionalOnClass(OObjectDatabaseTx.class)
@ConditionalOnMissingBean(OrientWebConfigurer.class)
public OrientWebConfigurer orientWebConfigurer() {
    return new OrientWebConfigurer();
}

@ConditionalOnBean@ConditionalOnMissingBean注解允许基于特定豆的存在或不存在要被包括的bean。您可以使用value属性按类型指定bean,或使用name按名称指定bean。搜索属性允许您限制ApplicationContext搜索bean时应考虑的层次结构。

当我们检查是否没有定义的bean时,请参见上面的示例。

@ConditionalOnProperty注释允许基于Spring的环境属性包括配置。使用prefix和name属性指定应检查的属性认情况下,将存在的任何不等于属性false匹配。您还可以使用havingValuematchIfMissing属性创建更高级的检查。

@ConditionalOnProperty(value='somebean.enabled', matchIfMissing = true, havingValue="yes")
@Bean 
public SomeBean someBean(){
}

@ConditionalOnResource注释允许被包括配置仅当特定资源是否存在。

@ConditionalOnResource(resources = "classpath:init-db.sql")

@ConditionalOnWebApplication@ConditionalOnNotWebApplication注解允许根据应用是否是一个“web应用程序”被包括配置。

@Configuration
@ConditionalOnWebApplication
public class MyWebMvcAutoConfiguration {...}

@ConditionalOnExpression注释允许基于SpeI位表达式的结果被包括配置。

@ConditionalOnExpression("${rest.security.enabled}==false")
Java 2022/1/1 18:21:14 有524人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶