1. 程式人生 > >Spring Boot+MongoDB專案搭建

Spring Boot+MongoDB專案搭建

MongoDB是一個基於文件(Document)的儲存型的資料庫,使用面向物件的思想,每一條資料記錄都是文件的物件。

- 1.Spring對MongoDB的支援

Spring對MongoDB的支援主要是通過Spring Data MongoDB來實現的,Spring Data MongoDB為我們提供瞭如下功能

(1).Object/Document對映註解支援
JPA提供了一套Object/Relation對映的註解(@Entity,@Id),而Spring Data MongoDB也提供了註解。
@Document:對映領域物件與MongoDB的一個文件
@Id:對映當前屬性是ID
@DbRef:當前屬性將參考其他的文件
@Field:為文件的屬性定義名稱
@Version:將當前屬性作為版本

(2).MongoTemplate
像JdbcTemplate一樣,Spring Data MongoDB也為我們提供了一個MongoTemplate,MongoTemplate為我們提供了資料訪問的方法。我們還需要為MongoClient以及MongoDbFactory來配置資料庫連線屬性。

(3).Repository的支援
類似於Spring Data JPA,Spring Data MongoDB也提供了Repository的支援,使用方式和Spring Data JPA一致。如下:
Public interface PersonRepository extends MongoRepository

2.Spring Boot對MongoDB的支援

Spring Boot對MongoDB的支援位於org.springframework.boot.autoconfigure.mongo
主要配置資料庫連線、MongoTemplate。我們可以使用以”spring.data.mongodb”為字首的屬性來配置MongoDB相關的資訊。Spring Boot為我們提供了一些預設的屬性,如預設MongoDB的埠為27017、預設伺服器為localhost、預設資料庫為test。

為我們開啟了對Repository的支援,即自動為我們配置了@EnableMongoRepositories。
所以我們在Spring Boot下使用MongoDB只需引入spring-boot-starter-data-mongodb依賴即可,無須任何配置。

3.實戰

(1).安裝MongoDB
非Docker安裝:若不使用Docker作為安裝方式,則我們可以訪問https://www.mongodb.org/downloads來下週適合自己當前作業系統的版本來安裝MongoDB。
Docker安裝:下載好MongoDB的Docker映象,然後執行命令
docker run -d -p 27017:27017 mongo,執行好後,記得在VirtualBox做一次埠對映,如圖:
這裡寫圖片描述

MongoDB資料庫管理軟體可使用Robomongo,下載地址:http://robomongo.org,執行軟體如下圖:

這裡寫圖片描述

(2).搭建Spring Boot專案
搭建Spring Boot專案,依賴為MongoDB(spring-boot-starter-data-mongodb)和Web(spring-boot-starter-web)。

專案結構與配置如下:

這裡寫圖片描述

(3).領域模型
本例的領域模型是人(Person),包含他工作過的地點(Location)。這個雖然和關係型資料庫的一對多類似,但是還是不一樣,Location的資料只屬於某個人。

實體Person原始碼:
這裡寫圖片描述
省略了getter、setter方法

程式碼解釋:
[email protected]註解對映領域模型和MongoDB的文件
[email protected]註解表明這個屬性為文件的Id
[email protected]註解此屬性在文件中的名稱為locs,locations屬性將以陣列形式存在當前資料記錄中

實體Locations原始碼:
這裡寫圖片描述
省略了getter、setter方法

資料訪問PersonRepository原始碼如下:
這裡寫圖片描述

程式碼解釋:
1.支援@Query查詢,查詢引數構造JSON字串即可

控制器Controller原始碼如下:

這裡寫圖片描述

(4).測試

這裡寫圖片描述

我們可以在RoboMongo中檢視儲存後的資料,如圖:

相關推薦

Spring Boot+MongoDB專案搭建

MongoDB是一個基於文件(Document)的儲存型的資料庫,使用面向物件的思想,每一條資料記錄都是文件的物件。 - 1.Spring對MongoDB的支援 Spring對MongoDB的支援主要是通過Spring Data MongoDB來實現的,

Spring-Boot web專案搭建

Spring-Boot快速搭建web專案詳細總結 最近在學習Spring Boot 相關的技術,剛接觸就有種相見恨晚的感覺,因為用spring boot進行專案的搭建是在太方便了,我們往往只需要很簡單的幾步,便可完成一個spring MVC專案的搭建,感覺就是下圖:  好,下

spring boot專案搭建遇到一個小問題

再用idea建立springboot專案時,maven所引入的jar包不會自動匯入到專案中,這是pom.xml檔案<?xml version="1.0" encoding="UTF-8"?> <proj

Spring Boot+Redis專案搭建

Redis是一個基於鍵值對的開源記憶體資料儲存,當然Redis也可以做資料快取。 1.Spring對Redis的支援 (1).配置 Spring對Redis的支援也是通過Spring Data Redis來實現的,Spring Data JPA為我們提

Spring boot security mybatis 搭建專案第一天

作為一個工作快兩年碼農,最近為跳槽做準備,天天看基礎看的超級煩,心血來潮準備搭建一個spring boot + security + mybatis 的專案(好吧,心裡一點譜都沒有。。。就出來浪了,還發部落格,哈哈,反正你們也不認識我)。  第一步。。。 建立專案 ,id

idea搭建spring boot+MongoDB+redis+mysql+activemq

1適合入門參照,比較全面,基於企業開發的最終極框架,全部所用最新版本(2018-10-26) 2加入對開發比較有好的BaseDAO 3反向生成實體類 1 new project 勾選: Core→DevTools(利於開發熱部署),Lombok(實體類不

springboot學習: 初識Spring Boot框架,搭建第一個專案

專案建立初次接觸,我們先來看看如何建立一個Spring Boot專案,這裡以IntelliJ IDEA為例,其他的IDE工具小夥伴們自行搜尋建立方式:首先建立一個專案,建立時選擇Spring Initializr,然後Next,如下圖:填寫專案資訊,如下圖:填寫專案使用到的技

spring-boot問題1:搭建spring-boot專案報錯 Error parsing lifecycle processing instructions

操作環境 系統:windows10 jdk:1.7 開發工具:eclipse4.6 springboot版本:1.5.3 構建工具:maven 問題及其產生背景 剛開始學習搭建spring-boot專案,遇到的問題。 新建完maven專案之後,在向pom

Spring Boot框架的搭建

簡化 output 項目依賴 boot jdk1 cat uil prop 自己 一、優點: 1.簡化了配置,是基於Spring4的一套快速開發整合包,減少復雜度 而Spring MVC基於Spring 的一個MVC框架 2.會有一個statrter整合包,減少樣板

spring boot開發環境搭建

oot osi jdbc 宋體 tid mes true err table 軟件151 朱實友 1.新建一個maven項目 Maven配置文件: <!-- Inherit defaults from Spr

Spring Boot的環境搭建

log main函數 ger warn 3.1 集合 font boot col 軟件152 陳卓 一、概念: 從最根本上來講,Spring Boot就是一些庫的集合,它能夠被任意項目的構建系統所使用。簡便起見,該框架也提供了命令行界面,它可以用來運行和測試Boot

spring boot hello world 搭建

-i ref quest img turn stat oid lease void 1.下載地址: Eclipse:http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon

Spring Boot項目搭建

pri resources 以及 urn ext tar tom 管理 tex 1.Spring Boot概述 Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配

Eclipse對spring-bootspring-boot-mybatis的搭建

安裝 OS arch true password username 數據 nbsp maven 1.準備工作 1.1.如果沒有sts(spring tool suite)插件, 則需要下載。 1.1.1.eclipse下載的話,一定要註意版本,因為eclipse會直接下載

Spring Boot 框架的搭建方法(手記)

基本 企業 spring 配置 turn 處理器 control 默認 文件 能夠 一.spring boot歷史背景 Spring 誕生時是 Java 企業版(Java Enterprise Edition,JEE,也稱 J2EE)的 輕量級代替品。無需開發重量級的 En

spring boot MongoDB的整合和使用

前言 上一章節,簡單講解了如何整合Spring-data-jpa。本章節,我們來看看如何整合NoSQL的Mongodb。mongodb是最早熱門非關係資料庫的之一,使用也比較普遍。最適合來儲存一些非結構資料了,適合對大量或者無固定格式的資料進行儲存,比如:日誌、快取等。 一點知識

Spring Boot使用AOP搭建統一處理請求日誌和使用log4j記錄不同級別的日誌

受http://blog.didispace.com/springbootaoplog/啟發,今天給Spring Boot專案搭建了統一處理請求日誌的切面並引入log4j記錄不同層級日誌。 mark一下這個過程,以及原文中沒有涉及到的一些疑問 一.  新增要使用的依賴&nbs

Spring Boot 建立專案(二)

如何建立Spring Boot 專案? 接下來我們將學習如何建立第一個Spring Boot專案 hello Spring Boot! 呢? 我們將以 IntelliJ IDEA 開發工具為例建立Spring Boot專案 如果還沒下載過Intel

Spring Boot環境的搭建

什麼是Spring Boot? Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。 自己的理解就是spring boot其實不是什麼新

如何在spring-boot web專案中啟用swagger

swagger的三個專案及其作用 我們開啟swagger的官網,會發現有三個swagger相關的專案,它們分別是 swagger-editor 作用是通過寫程式碼,生成文件描述(一個json檔案或其他格式的api元資料檔案) swagger-ui 通過請求文件描述(一個json檔案)的資料,把a