企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 30.2.1. 连接MongoDB数据库 你可以注入一个自动配置的`org.springframework.data.mongodb.MongoDbFactory`来访问Mongo数据库。默认情况下,该实例将尝试使用URL `mongodb://localhost/test`连接到MongoDB服务器: ```java 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,并配置其他的设置,比如副本集: ```properties spring.data.mongodb.uri=mongodb://user:secret@mongo1.example.com:12345,mongo2.example.com:23456/test ``` 另外,跟正在使用的Mongo 2.x一样,你可以指定`host`/`port`,比如,在`application.properties`中添加以下配置: ```java spring.data.mongodb.host=mongoserver spring.data.mongodb.port=27017 ``` **注** Mongo 3.0 Java驱动不支持`spring.data.mongodb.host`和`spring.data.mongodb.port`,对于这种情况,`spring.data.mongodb.uri`需要提供全部的配置信息。 **注** 如果没有指定`spring.data.mongodb.port`,默认使用`27017`,上述示例中可以删除这行配置。 **注** 如果不使用Spring Data Mongo,你可以注入`com.mongodb.Mongo beans`以代替`MongoDbFactory`。 如果想完全控制MongoDB连接的建立过程,你可以声明自己的`MongoDbFactory`或`Mongo` bean。 如果想全面控制MongoDB连接的建立,你也可以声明自己的MongoDbFactory或Mongo,@Beans。