docker:二、(3) spring和spring-boot 对应mongo权限配置的不同
2018-01-18 12:00
1291 查看
applicationContext-AppConfig.xml 内容
spring-boot 配置:
配置文件内容
application.properties
hostport : 可配置多个mongo地址实现负载,
其中 replicaSet 参数为复制集,作用:使用N个mongo地址,自动容错,自动恢复,高可用
userPassDb :mongo配置文件加入权限后,设置可访问的用户名和密码
常用 spring 配置:
配置文件内容
mongo.properties
在拉取的 docker-compose 文件中加入 “ command: [--auth] ” 如下,便可开启权限限制version: '2'
services:
mongo:
# restart: always
image: mongo:3.2
command: [--auth]
ports:
- "37017:27017"
volumes:
- /data/db
spring-boot 配置:
<!-- 引入配置文件 --> <context:property-placeholder location="classpath:*.properties" /> <!-- mongo依赖 --> <!-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 --> <mongo:mongo-client id="mongo" replica-set="${mongo.hostport}" credentials="${mongo.userPassDb}" > <!-- 一些连接属性的设置 --> <mongo:client-options connections-per-host="10" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" /> </mongo:mongo-client> <!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 --> <mongo:db-factory dbname="leopard" mongo-ref="mongo" /> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg ref="mongo" /> <constructor-arg name="databaseName" value="leopard" /> </bean>
配置文件内容
application.properties
mongo.autoConnectRetry=true mongo.connectTimeout=10000 mongo.connectionsPerHost=10 mongo.hostport=地址1\:端口,地址2\:端口?replicaSet\=mgset-4434465 mongo.maxWaitTime=1500 mongo.slaveOk=true mongo.socketKeepAlive=true mongo.socketTimeout=10000 mongo.threadsAllowedToBlockForConnectionMultiplier=4 mongo.userPassDb=用户名\:密码@数据库名
hostport : 可配置多个mongo地址实现负载,
其中 replicaSet 参数为复制集,作用:使用N个mongo地址,自动容错,自动恢复,高可用
userPassDb :mongo配置文件加入权限后,设置可访问的用户名和密码
常用 spring 配置:
<context:property-placeholder location="classpath:*.properties" /> <!-- mongo依赖 --> <bean id="userCredentials" class="org.springframework.data.authentication.UserCredentials"> <constructor-arg name="username" value="${mongo.userName}" /> <constructor-arg name="password" value="${mongo.password}" /> </bean> <!-- 定义mongo对象,对应的是mongodb官方jar包中的Mongo,replica-set设置集群副本的ip地址和端口 --> <mongo:mongo id="mongo" replica-set="${mongo.hostport}"> <!-- 一些连接属性的设置 --> <mongo:options connections-per-host="10" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" slave-ok="${mongo.slaveOk}" write-number="1" write-timeout="0" write-fsync="true" /> </mongo:mongo> <!-- mongo的工厂,通过它来取得mongo实例,dbname为mongodb的数据库名,没有的话会自动创建 --> <mongo:db-factory dbname="leopard" mongo-ref="mongo" /> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg ref="mongo" /> <constructor-arg name="databaseName" value="leopard" /> <constructor-arg ref="userCredentials" /> </bean>
配置文件内容
mongo.properties
mongo.hostport=地址1\:端口,地址2\:端口?replicaSet\=mgset-4434465 mongo.connectionsPerHost=10 mongo.threadsAllowedToBlockForConnectionMultiplier=4 mongo.connectTimeout=10000 mongo.maxWaitTime=1500 mongo.autoConnectRetry=true mongo.socketKeepAlive=true mongo.socketTimeout=10000 mongo.slaveOk=true mongo.userName=用户名 mongo.password=密码与spring-boot相比较,只有 用户名、密码、数据库名、xml文件中前缀名,的引用有所不同
在拉取的 docker-compose 文件中加入 “ command: [--auth] ” 如下,便可开启权限限制version: '2'
services:
mongo:
# restart: always
image: mongo:3.2
command: [--auth]
ports:
- "37017:27017"
volumes:
- /data/db
相关文章推荐
- redis结合springboot设置不同缓存失效配置
- Spring Boot使用profile如何配置不同环境的配置文件
- 详解springboot + profile(不同环境读取不同配置)
- Spring Boot + docker +mongo
- 在spring boot项目中配置权限框架shiro
- Spring-Boot使用profile来配置不同环境的配置文件
- Springboot配置静态资源url映射及对应的本地路径
- springboot实现将配置文件的属性转换成一个对应的pojo对象的属性
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)
- SpringBoot如何使用不同的配置文件
- 第十四章 springboot + profile(不同环境读取不同配置)
- Spring Boot在不同环境的动态配置
- Spring Boot不同的环境使用不同的配置
- spring boot不同环境读取不同配置
- spring boot 不同的环境使用不同的配置
- SpringBoot+Docker 实现属性动态配置
- 搭建 springboot 2.0 mybatis 读写分离 配置区分不同环境
- 【笔记】 Spring Boot [ 3 ] 之命令行启动方式和激活不同的配置文件
- spring boot security默认配置启动导致的权限错误
- 搭建 springboot 2.0 mybatis 读写分离 配置区分不同环境