我有一个用@Configuration注释的AppConfig类,它有各种bean定义,包括从应用程序执行第三方命中的bean。现在在我的spring集成测试用例中,我不希望这些bean被初始化。这就是我创建另一个名为TestAppConfig的bean用@Configuration注释的地方,其中我嘲笑了执行第三方命中的所有bean。现在在我的testContext.xml中我将一个排除过滤器添加到上下文:component-scan我指定要排除的AppConfig包。但不知何故,这个AppConfig每次都被初始化。我已经尝试了正确的正则表达式,但仍然没有工作。如果有人知道原因那么请分享。
答案 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
}
}]
对于名为“开发”的个人资料
@Bean
@Profile("production")
public DataSource prodDataSource() {
...
return dataSource;
}
@Bean
@Profile("development")
public DataSource devDataSource() {
...
return dataSource;
}
spring.profiles.active=development
将不会被调用。但prodDataSource
将被称为对于名为“production”的个人资料
devDataSource
spring.profiles.active=production
将不会被调用。但prodDataSource
将被称为