我的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;
}