16. .
1 MongoDB
.
2 MongoDB Java Driver
.
3 Spring Data MongoDB
17. Spring Data
. http://www.springsource.org/spring-data
18. . Spring Data
希望能夠透過 Spring 整合重要的㈾料存取技術:
透過 Spring 存取 RDBMS、NoSQL、與
MapReduce Framework
基本㆖只是個技術統稱,每個 RDBMS/
NoSQL 的存取方式都不盡相同
目前 Spring Data 家族包括:
Spring Data Hadoop
Spring Data JPA
Spring Data MongoDB
Spring Data Neo4j
…
20. . Spring Data MongoDB
希望能夠透過 Spring 整合 MongoDB 這種
Document 型態的㈾料存取技術
提供高階的 Template 封裝對 Document 的
相關操作,跟 Spring 整合 JDBC 與
Hibernate 的方式很類似
可以整合 Spring 的 IoC 與 Data Access
Exception Hierarchy 等功能,也可以直接使
用高階的 Template 支援
官方文件裡面也稱為 Spring Data Document
或 DATADOC
21. . Spring Data MongoDB 系統需求
Java SE 6
MongoDB 1.6.5
2.2 版開始不支援 XP
MongoDB Java Driver
Spring Framework 3.0.x
JCL (Apache/Jakarta Commons Logging)
Spring Data Commons
SLF4J
SLF4J-JCL + JCL
Spring Data MongoDB
(Optional) Google GSON 或 Jackson 之類
的 JSON Processor
22. . Spring Data MongoDB 主要功能
High-Level Template-Style Support
MongoTemplate 與 MongoOperations 等相關類別與介面
Java-Based Query Interface
Query 與 Criteria 等相關類別
Repository Programming Approach
Repository 等相關介面
23. Spring Data MongoDB 切入點
http://static.springsource.org/spring-data/data-mongodb/docs/current/
. reference/html/#mongo.mongo-java-config
MongoDB Java Driver:
Mongo 類別
Spring Data MongoDB:
MongoDbFactory 介面與 SimpleMongoDbFactory 類別
<mongo:mongo> 或 <mongo:db-factory>
MongoTemplate 類別
24. . MongoTemplate
Spring Data MongoDB 的核心
實作 MongoOperations 介面,模擬 Collection 相關功能
預設透過 MongoMappingConverter 類別提供
Object-Document Mapping 功能
提供方便的 CRUD 相關操作
所㈲的 Exception 都轉換為 Spring 的
DataAccessException
提供 Callback 機制㈺叫 Java Driver 的 API
Thread-Safe