根据配置文件禁用弹簧注释

时间:2019-03-03 18:32:58

标签: java spring-boot spring-mvc spring-mongodb

我正在将Spring 5.1+与MongoDB一起使用。我的一个类使用@Document注释,因此它被MongoDB选中,但是这导致该程序无法通过测试,原因是它等待Mongo Service不在运行。

是否有一种方法可以专门基于当前配置文件禁用@Document注释?我试图做类似的事情:

@Profile("production")
@Document
public class MyRepoObject { ...

并使用自定义的@Conditional注释代替@Profile,但这并不能解决问题。

我确定是@Document注释,当我注释掉注释时,通过测试会导致错误。

1 个答案:

答案 0 :(得分:0)

JEY指出的解决方案是在测试环境中禁用Mongo Auto Configurations。

我排除了MongoAutoConfiguration.class,MongoDataAutoConfiguration.class,MongoRepositoriesAutoConfiguration.class以及所有通过的测试。