春天简介模棱两可

时间:2016-10-25 11:50:37

标签: java spring spring-mvc spring-profiles

我有两个实现相同接口的@Component bean。有一个配置文件注释,而另一个没有,如下所示。

@Component
@Profile("mock")
public class CompMock implements Comp {...}

@Component
public class CompReal implements Comp {...}

如果我使用-Dspring.profiles.active=mock运行应用程序,为什么第二个bean连接而不是第一个使用Profile(“mock”)明确注释的bean?

1 个答案:

答案 0 :(得分:4)

如果个人资料是“模拟”,则

@Profile("mock")表示包含。就这样。 @Profile并未表示偏好。

有多种方法可以解决您的问题,包括将@Profile("!mock")添加到CompReal