如何从testContext.xml中的component-scan中排除@Configuration类

时间:2017-05-23 12:25:09

标签: java spring

我有一个用@Configuration注释的AppConfig类,它有各种bean定义,包括从应用程序执行第三方命中的bean。现在在我的spring集成测试用例中,我不希望这些bean被初始化。这就是我创建另一个名为TestAppConfig的bean用@Configuration注释的地方,其中我嘲笑了执行第三方命中的所有bean。现在在我的testContext.xml中我将一个排除过滤器添加到上下文:component-scan我指定要排除的AppConfig包。但不知何故,这个AppConfig每次都被初始化。我已经尝试了正确的正则表达式,但仍然没有工作。如果有人知道原因那么请分享。

1 个答案:

答案 0 :(得分:2)

  

在看到使用spring 3.2的评论后,您可以看到here对于旧版本的spring使用@Profile

您可以使用@Profile注释来确定将创建哪个@Bean。

示例:

定义的豆类低于

"enrichments": [{
  "destination_field": "enriched_paragraphs",
  "source_field": "paragraphs",
  "enrichment": "alchemy_language",
  "options": {
    "extract": "keyword, entity, doc-sentiment, taxonomy, concept, relation",
    "sentiment": true,
    "quotations": true
  }
}]
  

对于名为“开发”的个人资料

  1. 在app.properties @Bean @Profile("production") public DataSource prodDataSource() { ... return dataSource; } @Bean @Profile("development") public DataSource devDataSource() { ... return dataSource; }
  2. spring.profiles.active=development将不会被调用。但prodDataSource将被称为
  3.   

    对于名为“production”的个人资料

    1. 在app.properties devDataSource
    2. spring.profiles.active=production将不会被调用。但prodDataSource将被称为