Mongodb在春季启动时总是以嵌入式模式启动



我的pom中有下面的内容,我只希望在单元测试中嵌入mongodb。

<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
<scope>test</scope>
</dependency>

但是,即使我用本地模式启动SpringSTS,mongodb也总是以嵌入式模式启动,在嵌入式模式下,我无法使用db客户端连接到它。

对于本地开发测试,我希望连接到我在27017后运行的本地数据库,我在下面的application-local.yml中提到了这一点,

spring:
data:
mongodb:
uri: mongodb://localhost:27017/mydb

这就是我的MongoConfig类的样子,

@Configuration
@EnableMongoAuditing
public class MongoConfig {
private final MongoProperties mongoProperties;
public MongoConfig(MongoProperties mongoProperties) {
super();
this.mongoProperties = mongoProperties;
}
//Other bean initialization methods
}

主类只有@SpringBootApplication

在pom.xml文件中添加以下依赖项:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

然后在application.properties文件中添加以下代码:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=db_name

你把你的模型类写成:

@Data
@Document(collection = "customer")
public class Customer 
{
@Id
private String id;
private String name;
private String mobile;
}

最新更新