Spring Boot ile MongoDB'ye MongoClient Kullanarak Bağlanma Rehberi
Spring Boot ile MongoDB'ye MongoClient kullanarak bağlanmak için şu adımları izleyebilirsiniz:
1. Bağımlılıkları Ekleme
Öncelikle gerekli bağımlılıkları projenize eklemeniz gerekiyor. pom.xml dosyanıza şu bağımlılıkları ekleyin:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
</dependency>
2. MongoDB Bağlantı Ayarları
Ardından, MongoDB bağlantı ayarlarını yapılandırmanız gerekiyor. application.properties veya application.yml dosyanıza şu ayarları ekleyin:
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=your_database_name
3. MongoClient Konfigürasyonu
Şimdi MongoClient'i yapılandırmak ve kullanmak için bir configuration sınıfı oluşturalım:
import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MongoConfig {
@Value("${spring.data.mongodb.host}")
private String host;
@Value("${spring.data.mongodb.port}")
private int port;
@Value("${spring.data.mongodb.database}")
private String database;
@Bean
public MongoClient mongoClient() {
ConnectionString connectionString = new ConnectionString("mongodb://" + host + ":" + port + "/" + database);
MongoClientSettings mongoClientSettings = MongoClientSettings.builder()
.applyConnectionString(connectionString)
.build();
return MongoClients.create(mongoClientSettings);
}
}
Bu konfigürasyon sınıfı, application.properties dosyasından MongoDB bağlantı bilgilerini alır ve bir MongoClient bean'i oluşturur.
4. MongoClient Kullanımı
Artık MongoClient'i uygulamanızda kullanabilirsiniz. Örneğin, bir servis sınıfında şu şekilde kullanabilirsiniz:
@Service
public class MyMongoService {
private final MongoClient mongoClient;
private final String databaseName;
public MyMongoService(MongoClient mongoClient, @Value("${spring.data.mongodb.database}") String databaseName) {
this.mongoClient = mongoClient;
this.databaseName = databaseName;
}
public void performOperation() {
MongoDatabase database = mongoClient.getDatabase(databaseName);
MongoCollection<Document> collection = database.getCollection("your_collection_name");
// Koleksiyon üzerinde işlemler yapabilirsiniz
// Örnek: collection.insertOne(new Document("key", "value"));
}
}
Bu örnekte, MongoClient Spring tarafından otomatik olarak enjekte edilir ve servis sınıfında kullanılır.
Not: Bu şekilde Spring Boot uygulamanızda MongoClient'i kullanarak MongoDB'ye bağlanabilirsiniz. MongoClient, düşük seviyeli bir API sağlar ve MongoDB üzerinde çeşitli işlemler yapmanıza olanak tanır.
Eğer daha yüksek seviyeli bir API kullanmak isterseniz, Spring Data MongoDB'nin sağladığı MongoTemplate veya MongoRepository arayüzlerini de kullanabilirsiniz.