如何正确配置我的 Spring Boot 应用程序?

anat0lius

使用mongodb与Spring数据MongoDB的后端。也使用 Mongo 存储库。

这是我的实际配置:

/** MONGO CLIENT *****************************************************/

@Override
protected String getDatabaseName() {
    return db;
}

@Override
public Mongo mongo() throws Exception {

    /* I'm so dump to automatize this that I just do it manually */

    return new Fongo("meh").getMongo();   //Using it for unit tests
    //return new MongoClient(url, port);  //Using it for IT
}

@Override
protected Collection<String> getMappingBasePackages() {
    return Arrays.asList("com.foo");
}


/** BEANS ************************************************************/

@Bean
public Jackson2RepositoryPopulatorFactoryBean repositoryPopulator() {

    Resource foo1 = (Resource) new ClassPathResource("collections/foo1.json");
    Resource foo2 = (Resource) new ClassPathResource("collections/foo2.json");


    Jackson2RepositoryPopulatorFactoryBean factory = new Jackson2RepositoryPopulatorFactoryBean();
    factory.setResources(new Resource[] { foo1, foo2 });
    return factory;
}

存储库填充器是我添加的,它给我带来了麻烦。当我编译和测试我的项目时,我得到了DuplicateKeyException因为我猜存储库填充器触发了不止一次。

这些是我在测试类中使用的注释:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc

我的应用程序配置好了吗?避免存储库填充器多次触发的合理解决方案是什么?

anat0lius

基于本指南的解决方案(西班牙语,抱歉):https : //www.paradigmadigital.com/dev/tests-integrados-spring-boot-fongo

  1. 需要将 fongo 配置与 mongo 分开。
  2. fongo 配置必须放在 test/

只需将指南中的示例代码(也使用 MongoConfiguration.java,我的实际配置是错误的)作为基础,您会没事的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在我的application.properties文件的Spring Boot应用程序中配置HikariCP?

如何使用Eclipse调试Spring Boot应用程序?

如何在Spring Boot应用程序中配置PageableHandlerMethodArgumentResolver

如何关闭Spring Boot命令行应用程序

如何对Spring Boot应用程序进行集成测试?

在Spring Boot应用程序中使用@Configuration访问配置

如何为Spring Boot应用程序配置端口

Spring Boot如何决定应用程序的活动状态?

如何模拟离线Spring Boot应用程序

Spring Boot Restful应用程序如何响应pbf文件?

Intellij找不到我的Spring Boot应用程序

运行我的Spring Boot应用程序时伪装UnsatisfiedDependecyException

如何从Spring Boot应用程序为React应用程序提供服务?

如何通过JMX监视spring-boot应用程序?

无法在Spring Boot应用程序中配置ViewResolver

如何获取Spring Boot应用程序的进程ID

Spring Boot应用程序:如何修复JS更改

Kotlintest如何测试Spring Boot应用程序

在Spring Boot应用程序中配置consumerWindowSize

如何从Spring Boot应用程序中隧道PCF服务

如何测试Spring Boot应用程序的日志?

如何停止启动的Spring Boot应用程序?

如何制作基本的Spring Boot应用程序?

配置 HTTP 端点以关闭 Spring Boot Web 应用程序

如何在 spring boot 启动期间关闭应用程序

如何从 Spring Boot 应用程序在 android 应用程序中加载图像?

如何dockerize Spring Boot应用程序?

如何在intellij中运行spring boot应用程序?

如何使用配置类在 Spring Boot 中为我的应用程序配置属性?