You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

基于连接串的Spring XML MongoDB Bean配置及现有配置改造咨询

嘿,这很简单,我来帮你把现有的Spring XML MongoDB配置改成基于连接串的版本,这样配置更紧凑,还能灵活包含认证、连接池等额外参数。

修改后的Spring XML配置

直接替换你原来的MongoDB配置块,用连接串(URI)来统一配置mongoDbFactory,改造后的applicationContext.xml代码如下:

<!-- MongoDB configurations using connection string -->
<mongo:db-factory id="mongoDbFactory" uri="${mongo.uri}" />

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>

配置连接串参数

你需要在配置文件(比如application.propertiesapplication.yml)中定义mongo.uri,根据你的场景选择对应的写法:

  • 基础无认证场景
    mongo.uri=mongodb://${mongo.host}:${mongo.port}/${mongo.database}
    
  • 带用户名密码认证场景(比如指定admin库作为认证源):
    mongo.uri=mongodb://${mongo.username}:${mongo.password}@${mongo.host}:${mongo.port}/${mongo.database}?authSource=admin
    
  • 带连接池配置场景(比如设置最大连接数、超时时间):
    mongo.uri=mongodb://localhost:27017/your_db?maxPoolSize=20&connectTimeoutMS=5000
    

注入使用无需改动

你原来的注入代码@Inject private MongoOperations mongoOperation;完全不需要调整!因为MongoTemplate本身就实现了MongoOperations接口,Spring会自动把mongoTemplate bean注入进去,用法和之前完全一致。

小提示

  • 确保你的Spring Data MongoDB版本在1.10及以上(2.0+版本对URI配置的支持更完善);
  • 连接串支持所有MongoDB官方定义的URI参数,比如读写偏好、SSL设置等,按需添加即可。

内容的提问来源于stack exchange,提问作者Sachin Sharma

火山引擎 最新活动