最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装、客户端操作、安全认证、副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很大。特此记录,以备查看。

 

文章目录:

MongoDB和Java(1):Linux下的MongoDB安装

MongoDB和Java(2):普通用户启动mongod进程

MongoDB和Java(3):Java操作MongoB

MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

MongoDB和Java(5):Spring Data整合MongoDB(注解配置)

MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

MongoDB和Java(7):MongoDB用户管理

 

本文记录如何使用XML配置方式整合Spring data和MongoDB

 

源代码下载
MongoDB和Java学习代码.zip

 

1、环境准备

JDK     1.8
Spring    4.2.5.RELEASE
Junit       4.10
Spring-data-mongodb  1.9.0.RELEASE
Logback   1.1.7

Maven    3.2.1

 

依赖

 1 <properties>
 2     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 3     <maven.compiler.source>1.8</maven.compiler.source>
 4     <maven.compiler.target>1.8</maven.compiler.target>
 5     <spring.version>4.2.5.RELEASE</spring.version>
 6 </properties>
 7 
 8 <dependencies>
 9 
10     <dependency>
11         <groupId>junit</groupId>
12         <artifactId>junit</artifactId>
13         <version>4.10</version>
14         <scope>test</scope>
15     </dependency>
16 
17     <dependency>
18         <groupId>org.springframework</groupId>
19         <artifactId>spring-context-support</artifactId>
20         <version>${spring.version}</version>
21     </dependency>
22     <dependency>
23         <groupId>org.springframework</groupId>
24         <artifactId>spring-aop</artifactId>
25         <version>${spring.version}</version>
26     </dependency>
27     <dependency>
28         <groupId>org.springframework</groupId>
29         <artifactId>spring-test</artifactId>
30         <version>${spring.version}</version>
31         <scope>test</scope>
32     </dependency>
33 
34     <dependency>
35         <groupId>org.springframework.data</groupId>
36         <artifactId>spring-data-mongodb</artifactId>
37         <version>1.9.0.RELEASE</version>
38     </dependency>
39 
40     <!-- logback日志 -->
41     <dependency>
42         <groupId>ch.qos.logback</groupId>
43         <artifactId>logback-core</artifactId>
44         <version>1.1.7</version>
45     </dependency>
46     <dependency>
47         <groupId>ch.qos.logback</groupId>
48         <artifactId>logback-classic</artifactId>
49         <version>1.1.7</version>
50     </dependency>
51     <dependency>
52         <groupId>org.aspectj</groupId>
53         <artifactId>aspectjweaver</artifactId>
54         <version>1.6.1</version>
55     </dependency>
56 
57 </dependencies>
58 
59 <build>
60     <finalName>security-demo</finalName>
61     <plugins>
62         <plugin>
63             <groupId>org.apache.maven.plugins</groupId>
64             <artifactId>maven-compiler-plugin</artifactId>
65             <version>3.3</version>
66             <configuration>
67                 <source>${maven.compiler.source}</source>
68                 <target>${maven.compiler.target}</target>
69                 <encoding>${project.build.sourceEncoding}</encoding>
70             </configuration>
71         </plugin>
72     </plugins>
73 </build>

 

2、mongodb配置文件

这个是spring的子配置文件,通过从.properties文件读取连接属性创建mongoClient对象,再创建DBFactory对象,通过DBFactory创建MongoTemplate,我们的数据层实现类就是使用MongoTemplate操作MongoDB的。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xmlns:mongo="http://www.springframework.org/schema/data/mongo"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans 
 7             http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
 8             http://www.springframework.org/schema/context 
 9                   http://www.springframework.org/schema/context/spring-context-4.2.xsd 
10                   http://www.springframework.org/schema/data/mongo 
11                   http://www.springframework.org/schema/data/mongo/spring-mongo-1.8.xsd">
12 
13     <!-- 连接属性文件,配置服务器IP端口、数据库和连接参数 -->
14     <context:property-placeholder location="classpath:mongodb.properties"
15                             ignore-unresolvable="true" />
16 
17     <!-- 创建MongoClient -->
18     <mongo:mongo-client id="mongo" replica-set="${mongo.hostport}">
19         <mongo:client-options connections-per-host="${mongo.connectionsPerHost}"
20             threads-allowed-to-block-for-connection-multiplier=
21                     "${mongo.threadsAllowedToBlockForConnectionMultiplier}"
22             connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}"
23             socket-keep-alive="${mongo.socketKeepAlive}" 
24             socket-timeout="${mongo.socketTimeout}" />
25     </mongo:mongo-client>
26 
27     <!-- MongoDbFactory -->
28     <mongo:db-factory id="mgFactory" dbname="${mongo.dbname}"
29             mongo-ref="mongo" />
30 
31     <!-- MongoTemplate -->
32     <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
33         <constructor-arg name="mongoDbFactory" ref="mgFactory" />
34     </bean>
35 
36 </beans>
View Code

相关文章: