gpt4 book ai didi

java - 如何从 testContext.xml 中的组件扫描中排除 @Configuration 类

转载 作者:行者123 更新时间:2023-12-02 02:48:51 26 4
gpt4 key购买 nike

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

最佳答案

After see the comment that you are using spring 3.2, you can see here for older version of spring to use @Profile

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

示例:

定义的Bean如下

@Bean
@Profile("production")
public DataSource prodDataSource() {
...
return dataSource;
}

@Bean
@Profile("development")
public DataSource devDataSource() {
...
return dataSource;
}

For profile called "development"

  1. 在app.properties中spring.profiles.active=development
  2. prodDataSource 将不会被调用。但是 devDataSource 将被调用

For profile called "production"

  1. 在app.properties中spring.profiles.active=product
  2. prodDataSource 将不会被调用。但是 devDataSource 将被调用

关于java - 如何从 testContext.xml 中的组件扫描中排除 @Configuration 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44134764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com