29.2.1. 连接MongoDB数据库

你可以注入一个自动配置的org.springframework.data.mongodb.MongoDbFactory来访问Mongo数据库。默认情况下,该实例将尝试使用URL:mongodb://localhost/test连接一个MongoDB服务器。

import org.springframework.data.mongodb.MongoDbFactory;
import com.mongodb.DB;

@Component
public class MyBean {

    private final MongoDbFactory mongo;

    @Autowired
    public MyBean(MongoDbFactory mongo) {
        this.mongo = mongo;
    }

    // ...
    public void example() {
        DB db = mongo.getDb();
        // ...
    }
}

你可以通过设置spring.data.mongodb.uri来改变该url,或指定一个host/port。比如,你可能会在你的application.properties中设置如下的属性:

spring.data.mongodb.host=mongoserver
spring.data.mongodb.port=27017

:如果没有指定spring.data.mongodb.port,那将使用默认的端口27017。你可以简单的从上面的示例中删除这一行。如果不使用Spring Data Mongo,你可以注入com.mongodb.Mongo beans而不是使用MongoDbFactory。

如果想全面控制MongoDB连接的建立,你也可以声明自己的MongoDbFactory或Mongo,@Beans。