我有两个实现相同接口的@Component bean。有一个配置文件注释,而另一个没有,如下所示。
@Component
@Profile("mock")
public class CompMock implements Comp {...}
@Component
public class CompReal implements Comp {...}
如果我使用-Dspring.profiles.active=mock
运行应用程序,为什么第二个bean连接而不是第一个使用Profile(“mock”)明确注释的bean?
答案 0 :(得分:4)
@Profile("mock")
表示包含。就这样。 @Profile
并未表示偏好。
有多种方法可以解决您的问题,包括将@Profile("!mock")
添加到CompReal
。