1.首先下載mongodb驅動包以及和spring整合的包java
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.8.0.RELEASE</version> </dependency>
2.配置mongodb客戶端連接spring
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd"> <mongo:mongo-client host="${mongo.host}" port="${mongo.port}" credentials="${mongo.username}:${mongo.password}@${mongo.databasename}" id="mongoClient"> <mongo:client-options connections-per-host="${mongo.connectionsPerHost}" min-connections-per-host="${mongo.minConnectionsPerHost}" 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}" description="${mongo.description}" max-connection-idle-time="${mongo.maxConnectionIdleTime}" max-connection-life-time="${mongo.maxConnectionLifeTime}" heartbeat-socket-timeout="${mongo.heartbeatSocketTimeout}" heartbeat-connect-timeout="${mongo.heartbeatConnectTimeout}" min-heartbeat-frequency="${mongo.minHeartbeatFrequency}" heartbeat-frequency="${mongo.heartbeatFrequency}" /> </mongo:mongo-client> <mongo:db-factory id="mongoDbFactory" dbname="${mongo.databasename}" mongo-ref="mongoClient" /> <!-- 只要使用這個調用相應的方法操做 --> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> </bean> </beans>
屬性文件配置mongodb
mongo.host=192.168.1.112 mongo.port=27017 mongo.username=jiafeng mongo.password=jiafeng mongo.databasename=cms mongo.connectionsPerHost=10 mongo.threadsAllowedToBlockForConnectionMultiplier=5 mongo.minConnectionsPerHost=5 #\u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4 mongo.connectTimeout=10000 #\u7B49\u5F85\u65F6\u95F4 mongo.maxWaitTime=120000 #Socket\u8D85\u65F6\u65F6\u95F4 mongo.socketTimeout=0 mongo.socketKeepAlive=true mongo.description=joyven test mongodb database mongo.maxConnectionIdleTime=1500 mongo.maxConnectionLifeTime=0 #mongo slave mongo.heartbeatSocketTimeout=1000 mongo.heartbeatConnectTimeout=1500 mongo.minHeartbeatFrequency=5 mongo.heartbeatFrequency=10
3.便可在service中使用socket
@Service("mgUserDao") public class MgUserDaoImpl implements IMgUserDao { @Resource public MongoTemplate mongoTemplate; @Override public void insert(User user) { mongoTemplate.insert(user,"user"); } @Override public List<User> findAllUsers() { // 須要設置集合對應的實體類和相應的集合名,從而查詢結果直接映射 return mongoTemplate.findAll(User.class, "user"); } }