spring+mongo
一、程序结构
aaarticlea/png;base64,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" alt="" />
说明:以上两个包的版本要相匹配,否则可能会出现Class找不到的情况(不同版本路径有改变)
几个主要jar包下载地址:
http://yangjizhong.iteye.com/blog/1206901
spring-data-common-core-1.0.0.RELEASE.jar
现在很多例子程序提供的都是之前spring官网上的链接地址,但是spring官网改版
后那些下载地址都已经失效。
二、源码
1、Url类
- package com.wiscom.data;
- import java.io.Serializable;
- public class Url implements Serializable {
- private static final long serialVersionUID = -6422640281609234112L;
- private String url;
- private String url_md5;
- private int isParsed;
- public Url() {
- super();
- }
- public String getUrl() {
- return url;
- }
- public void setUrl(String url) {
- this.url = url;
- }
- public String getUrl_md5() {
- return url_md5;
- }
- public void setUrl_md5(String url_md5) {
- this.url_md5 = url_md5;
- }
- public int getIsParsed() {
- return isParsed;
- }
- public void setIsParsed(int isParsed) {
- this.isParsed = isParsed;
- }
- public String displayInfo(){
- return this.url+", "+this.url_md5+", "+this.isParsed;
- }
- }
2、IUrlRepository接口
- package com.wiscom.data;
- public interface IUrlRepository {
- public Url findOne();
- }
3、UrlRepositoryImpl类:IUrlRepository接口的实现
- package com.wiscom.data;
- import org.springframework.data.document.mongodb.MongoTemplate;
- import org.springframework.data.document.mongodb.query.Criteria;
- import org.springframework.data.document.mongodb.query.Query;
- public class UrlRepositoryImpl implements IUrlRepository {
- private MongoTemplate mongoTemplate;
- public MongoTemplate getMongoTemplate() {
- return mongoTemplate;
- }
- public void setMongoTemplate(MongoTemplate mongoTemplate) {
- this.mongoTemplate = mongoTemplate;
- }
- @Override
- public Url findOne() {
- // TODO Auto-generated method stub
- String url_md5_Str="E5C0818FC19480BBF2CC7BF71241A145";
- return getMongoTemplate().findOne(new Query(Criteria.where("url_md5").is(url_md5_Str)),Url.class);
- }
- }
4、applicationContext.xml
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.1.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
- <bean id="mongo" class="org.springframework.data.document.mongodb.MongoFactoryBean">
- <property name="host" value="10.0.0.187"/>
- <property name="port" value="25017"/>
- </bean>
- <bean id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate">
- <constructor-arg ref="mongo"/>
- <constructor-arg name="databaseName" value="crawler_data"/>
- <constructor-arg name="defaultCollectionName" value="url"/>
- </bean>
- <bean id="urlRepositoryImpl" class="com.wiscom.data.UrlRepositoryImpl">
- <property name="mongoTemplate" ref="mongoTemplate"/>
- </bean>
- <context:annotation-config />
- </beans>
PS:xsi:schemaLocation要使用spring3.X以上版本,如果使用2.X会导致constructor-arg无法使用。
三、运行测试
主函数:
- package com.wiscom.main;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.wiscom.data.IUrlRepository;
- public class Main {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.println("mongo test");
- ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
- IUrlRepository urlObj= (IUrlRepository)ctx.getBean("urlRepositoryImpl");
- System.out.println(urlObj.findOne().displayInfo());
- }
- }
运行结果:
aaarticlea/png;base64,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" alt="" />
参考:http://blog.csdn.net/cuiran/article/details/8287204
spring+mongo的更多相关文章
- Spring Mongo配置多个Mongos
由于数据存储使用MongoDB集群,在对外访问的时候,地址是Mongos的地址,在使用的过程中没有发现任何问题,配置如下: <mongo:mongo host="${mongodb.h ...
- spring mongo data api learn
1 索引 1.1 单列索引 @Indexed @Field(value = "delete_flag") private Boolean deleteFlag = false; @ ...
- mongo学习使用记录2 spring data
spring data mongo 打印mongo NoSql语句 log4j.properties log4j.rootLogger=INFO, stdout log4j.logger.org.sp ...
- Spring Boot多数据源配置(二)MongoDB
在Spring Boot多数据源配置(一)durid.mysql.jpa 整合中已经讲过了Spring Boot如何配置mysql多数据源.本篇文章讲一下Spring Boot如何配置mongoDB多 ...
- 关于MongoDB的简单理解(三)--Spring Boot篇
一.前言 Spring Boot集成MongoDB非常简单,主要为加依赖,加配置,编码. 二.说明 环境说明: JDK版本为15(1.8+即可) Spring Boot 2.4.1 三.集成步骤 3. ...
- hadoop data 相关开源项目(近期学习计划)
计划学习几个hadoop相关的开源项目: 1.spring hadoop 2.spring batch 3.spring redis 4.spring mongo 相关项目样例:https://git ...
- MongoDB分组汇总操作,及Spring data mongo的实现
转载请在页首注明作者与出处 一:分组汇总 1.1:SQL样例 分组汇总的应用场景非常多,比如查询每个班级的总分是多少,如果用关系形数据库,那么sql是这样子的 ),class from score g ...
- spring 整合 mongo
spring 非常强大,不仅在jdbc访问提供了jdbctemplate,而且在mongo访问上提供了mongoTemplate.闲话不多说,下边开始整合mongoTemplate. ONE: 添加s ...
- spring 集成mongo配置
spring继承Mongo使用的是spring-data. 如果需要加入两个mongo与spring集成的包,spring-data-commons-1.7.0.RELEASE.jar,spring- ...
随机推荐
- Qt串口通信接收数据不完整的解决方法
在使用串口接收数据时,当数据量大的时候会出现数据接收不完整的情况.因为串口数据获取函数readAll()由readyRead()信号触发,但readyRead()信号在串口读到起始标志时立即发送,并不 ...
- SSD果然劲爆!
前两周入手了一块浦科特128G盘,不说多了,有图为证 以前把机械盘放在主硬盘位的时候,鲁大师显示是SATA II接口,现在把SSD放在主硬盘位,显示居然是SATA III接口了,看上面测试,确实是II ...
- FIO是测试IOPS
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...
- Ubuntu 安装BCM 43142无线网卡驱动
ubuntu14.04 安装 bcm43142无线网卡 用命令lspci 查看无线网卡类型 然后下载对应的无线网卡驱动. 之后,使用下列命令安装,即可搜索无线热点了: sudo apt-get ins ...
- overflow:hidden---清除浮动,隐藏溢出
overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解.一提到清除浮动,我们就会想到另外一个CSS样式: ...
- C++之路进阶——bzoj2879(美食节)
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1304 Solved: 702[Submit][Status] ...
- 原生js快速渲染dom节点
function renderDom(str){ var _div = document.createElement('div'); _div.innerHTML = str; var dom_tem ...
- C语言回顾-函数和位运算
1.函数的概述 功能独立的代码块 C语言由若干函数组成 1)从定义分,库函数和用户定义函数两种 2)从返回值分,有返回值函数和无返回值函数 3)从参数分,无参函数和有参函数 2.形参和实参 1)形参定 ...
- Java Spring DI之旅
做过.NET的人很多都用过Microsoft Enterprise Library,里面有一个Dependency injection工具Unity,我们可以使用它来实现依赖注入:什么是依赖注入呢?我 ...
- 一个解决chrome浏览器下input标签当autocomplete的时候背景变黄色同时input背景图片消失方案
最近在改一个bug即如标题所讲的一样,chrome浏览器下当input标签开启autocomplete的时候input的背景颜色变黄同时在input的背景图片也被覆盖了.为此百度了好久发现网上说的使用 ...