Sau rất nhiều nỗ lực và đọc, tôi đã tìm ra cách làm cho MongoDB 3.0 hoạt động với xác thực.
Đây là bản cài đặt mới của MongoDB 3.0, không liên quan đến nâng cấp.
Tôi đã sử dụng các phụ thuộc maven này:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.6.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.0</version>
</dependency>
có tư cách là cha mẹ
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.2.RELEASE</version>
</parent>
Sau đó, trong tệp Cấu hình của tôi, tôi đã có
/**
* DB connection Factory
*
* @return a ready to use MongoDbFactory
*/
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
// Set credentials
MongoCredential credential = MongoCredential.createCredential(mongoUser, databaseName, mongoPass.toCharArray());
ServerAddress serverAddress = new ServerAddress(mongoHost, mongoPort);
// Mongo Client
MongoClient mongoClient = new MongoClient(serverAddress,Arrays.asList(credential));
// Mongo DB Factory
SimpleMongoDbFactory simpleMongoDbFactory = new SimpleMongoDbFactory(
mongoClient, databaseName);
return simpleMongoDbFactory;
}
/**
* Template ready to use to operate on the database
*
* @return Mongo Template ready to use
*/
@Bean
public MongoTemplate mongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
Và cuối cùng, bất cứ nơi nào bạn có quyền truy cập vào đậu MongoTemplate, bạn sẽ có thể thực hiện
mongoTemplate.insert(objectToStore, collectionName);