本指南将帮助您在 Spring Boot 应用程序和 MongoDB 数据库之间建立数据库连接桥。您可以通过三种方式将 Spring Boot 应用程序与 MongoDB 数据库连接:
正如我们所知,Spring Boot 遵循 “约定优于配置” 模型,这有助于开发人员专注于应用程序的核心逻辑而不是配置。您可以在 application.properties 文件中定义 MongoDB 数据库凭据,如下所示,其余工作将由 Spring Boot 完成。
application.properties
#Database connection strings
spring.data.mongodb.host=localhost # host name where mongodb is running
spring.data.mongodb.port=27017 #port number, by default MongoDB uses the 27017 port
spring.data.mongodb.database=mydreamapp #name of the database
spring.data.mongodb.username=admin #user name for db
spring.data.mongodb.password=admin123 # your secret password
我们可以使用 @Configuration
注解来建立 Spring Boot 应用程序和 MongoDB 数据库之间的连接桥。
package org.websparrow.config;
import com.mongodb.*;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import java.util.Collections;
@Configuration
public class MongoDBConfig extends AbstractMongoClientConfiguration {
@Override
protected String getDatabaseName() {
return "myapp";
}
@Override
protected void configureClientSettings(MongoClientSettings.Builder builder) {
builder.credential(MongoCredential.createCredential(
"username", "databasename", "password".toCharArray())
)
.applyToClusterSettings(settings -> {
settings.hosts(Collections.singletonList(new ServerAddress("hostname", 27017)));
});
}
}
或者,我们也可以使用以下配置:
package org.websparrow.config;
import com.mongodb.*;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import java.util.Collection;
import java.util.Collections;
@Configuration
public class MongoDBConfig extends AbstractMongoClientConfiguration {
@Override
protected String getDatabaseName() {
return "my_dream_app";
}
@Override
public MongoClient mongoClient() {
ConnectionString connectionString = new ConnectionString("mongodb://localhost:27017/my_dream_app");
MongoClientSettings mongoClientSettings = MongoClientSettings.builder()
.applyConnectionString(connectionString)
.build();
return MongoClients.create(mongoClientSettings);
}
@Override
public Collection<String> getMappingBasePackages() {
return Collections.singleton("org.websparrow");
}
}
我们会尽快更新。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.websparrow.org/spring/how-to-connect-spring-boot-application-with-mongodb
内容来源于网络,如有侵权,请联系作者删除!