spring data & mongodb的参考地址是
http://www.springsource.org/spring-data/mongodb/, 可以通过
http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/来查询详细的配置和代码的操作文档。当然,看文档是个很累眼睛和脑子的活, 在这里举个简单的例子说明一下SPRING 和MONGDB基本配置。
1. 通过MAVEN 建立WEBAPP项目, 在项目中配置 spring mvc
我是通过ECLIPSE来建立maven项目地, 然后通过阅读这位大虾的教程
http://limingnihao.iteye.com/blog/830409配置了spring MVC, 谢谢大虾的帮助!!
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext*.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>mongo</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mongo-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mongo</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
我在启动TOMCAT的时候,碰到了一个问题,TOMCAT操作台报告:listenerError的错误, mongo服务不能启动。 根据网上查询的资料, 我作了以下配置:
在webapp / WEB-INF / classes 目录下,配置了 logging.properties的文件,当TOMCAT启动发生错误时, 会在TOMCAT安装目录下创建logs2目录并写下错误的提示, 可以从这个错误log中得到tomcat操作台错误的信息。
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs2
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
pom.xml, 以下一堆 dependency 是常用的, 可以选择使用。
<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- log4j -->
<!--
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>runtime</scope>
</dependency>
-->
<!-- commons for db -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.4</version>
</dependency>
<!-- common logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging-api</artifactId>
<version>1.1</version>
</dependency>
<!-- spring fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<!-- dom4j -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<!-- spring tx dependency -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
</dependency>
<!-- json lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<classifier>jdk15</classifier>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.5</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
2. 配置实用MONGODB
pom.xml: 在dependency中添加
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
在spring 的配置文件中,作如下配置
<!-- mongoDB的配置对象, option可选择使用 -->
<bean id="mongoOptions" class="com.mongodb.MongoOptions">
<!-- 服务器是否自动重连,默认为false -->
<property name="autoConnectRetry" value="false" />
<!-- 对同一个服务器尝试重连的时间(毫秒),设为0时默认使用15秒 -->
<property name="maxAutoConnectRetryTime" value="0" />
<!-- 与每个主机的连接数,默认为10 -->
<property name="connectionsPerHost" value="10" />
<!-- 连接超时时间(毫秒),默认为10000 -->
<property name="connectTimeout" value="10000" />
<!-- 是否创建一个finalize方法,以便在客户端没有关闭DBCursor的实例时,清理掉它。默认为true -->
<property name="cursorFinalizerEnabled" value="true" />
<!-- 线程等待连接可用的最大时间(毫秒),默认为120000 -->
<property name="maxWaitTime" value="120000" />
<!-- 可等待线程倍数,默认为5.例如connectionsPerHost最大允许10个连接,则10*5=50个线程可以等待,更多的线程将直接抛异常 -->
<property name="threadsAllowedToBlockForConnectionMultiplier" value="5" />
<!-- socket读写时超时时间(毫秒),默认为0,不超时 -->
<property name="socketTimeout" value="0" />
<!-- 是socket连接在防火墙上保持活动的特性,默认为false -->
<property name="socketKeepAlive" value="false" />
<!-- 对应全局的WriteConcern.SAFE,默认为false -->
<property name="safe" value="true" />
<!-- 对应全局的WriteConcern中的w,默认为0 -->
<property name="w" value="0" />
<!-- 对应全局的WriteConcern中的wtimeout,默认为0 -->
<property name="wtimeout" value="0" />
<!-- 对应全局的WriteConcern.FSYNC_SAFE,如果为真,每次写入要等待写入磁盘,默认为false -->
<property name="fsync" value="false" />
<!-- 对应全局的WriteConcern.JOURNAL_SAFE,如果为真,每次写入要等待日志文件写入磁盘,默认为false -->
<property name="j" value="false" />
</bean>
<!-- Factory bean that creates the Mongo instance -->
<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
<property name="host" value="localhost" />
<property name="mongoOptions" ref="mongoOptions"/>
<!-- 设定写策略,默认为WriteConcern.SAFE,优先级高于mongoOptions中的safe -->
<property name="writeConcern" value="SAFE"/>
</bean>
<!-- MongoTemplate for connecting and quering the documents in the database -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongo" ref="mongo" />
<constructor-arg name="databaseName" value="test" />
</bean>
<!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
通过以上配置,可以在数据操作的源码中直接调用 mangoTemplate 来进行mangoDB的数据操作。
分享到:
相关推荐
spring4 整合MongoDB详细讲解项目源码 Mongo DB 是目前在IT行业非常流行的一种非关系型数据库 NoSql 其灵活的数据存储方式备受当前IT从业人员的青睐 Mongo DB很好的实现了面向对象的思想 OO思想 在Mongo DB中 每一条...
Spring Data MongoDB 1.1.0 API CHM版 制作成chm版,方便大家查阅
mongodb版本号3.2,需手动开启http服务,启动时使用命令 ./mongod --httpinterface 新增 修改 删除 查询 排序 分页 可查看: https://blog.csdn.net/m0_37132783/article/details/96992439
Spring 4 mongoDB连接-入门套件 将文档插入mongo db集合的愚蠢应用程序。 依赖关系经理 Maven的3.2.5 如何建造 $ cd $ mvn clean package 怎么跑 $ cd $ java -jar target/lib/spring-mongodb-0.1.0.jar 运行...
java springboot mongodb 通过mongotemplate获取mongo服务器当前时间。
## Purpose测试spring引导框架,miro service以RESTful为基础,mongo db测试 要求 码头工人 码头工人组成 杰克10 在docker-compose目录, 以下是所需启动的服务器 mongo <-docker最新 mongo-express <-docker...
要运行地理空间附近查询,请运行以下命令: db.hospital.ensureIndex({location: "2dsphere"})
spring+springmvc+mybatis+mongodb+ActiveMQ+CXF
SpringReact数据MongoDb Spring SecurityReact式Webflux 请参阅以下页面以获取更多详细信息 Spring WebReact性 Spring数据React式 Spring Functional Web框架 跑步 在application.properties中,配置适当的值。...
Spring Boot 的 Kickstart 项目 一个简单的启动项目,可使用 Spring Boot、PostgreSQL DB 连接、Spring Security 和一些存储库、表单、列表和转换器的代码示例快速设置完整的 Web 应用程序。
Teclonogias utilizadas:Java 11,Spring Webflux,Spring Boot e MongoDB。 构建工具:Gradle Rodando o projeto Para rodarmos o projeto,precisaremos utilizar o MongoDB Docker para baixar uma imagem,...
一个带有spring-data-mongodb支持多租户的项目 为什么? 如果您的mongodb中具有以下结构,则很难处理,因为spring-data-mongodb不支持多租户。 CUSTOMER_DB_A # - collectionA - collectionB - collectionC ...
一个带有Spring Data Rest和嵌入式MongoDB的Spring Boot应用程序示例 类图 想象一家商店有许多不同的产品...这些产品具有特定的特征... MongoDB嵌入式配置。 数据库:存储 集合:产品 网址:本地主机 端口:12345 ...
使用Spring Boot和MongoDB的图书搜索者的REST API。 技术领域 Spring启动2.0.2 MongoDB API 3.6.3 Bootstrap 4.1.1 Bootswatch“ Litera”主题 jQuery的 如何开始... 安装MongoDB并使用“ booksearcher ”数据库...
简单弹簧mongodb 需要安装Java 7+ 安装 MongoDB ( ) 将 mongo/bin 文件夹添加到 PATH 变量安装 Maven 3.2.5 ( ) 将 maven/bin 文件夹添加到 PATH 变量阅读 MongoDB 的 README 文件并相应地创建 /data/db 目录在本地...
具有MongoDB连接的示例Spring Boot应用程序。 #概述:此项目将数据添加到MongoDB数据库,并显示Mongo DB提取/查询功能的功能。 #运行此项目之前的设置步骤 安装Java 8 安装MongoDB 3.4 启动MongoDB(通过命令...
================================================== ================================================== ======================== 堆: Angularjs + Spring MVC + Spring Data + Mongo db ===================...
入门-后端教程弹簧启动-MONGO DB-REST API这些是我们需要提供的API: 方法Urls Actions POST / api / tutorials创建新...title = [keyword]查找标题包含关键字的所有教程–我们使用Spring Data MongoDB进行CRUD操
虽然第一个只使用 MongoDB Java Driver 来检索数据,但其他人为了同样的目的使用 Spring MongoDB 方法。相关文章土耳其语:包括什么mongodb-query-examples|--build.gradle|--gradle| `--wrapper| |--gradle-wrapper...