Spring4分别整合mongo2.X和3.0
1.pom文件添加:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.14.2</version>
</dependency> <dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.7.2.RELEASE</version>
</dependency>
2.Spring配置文件的头信息,其中只需关注mongo的三行就行:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
"> <mongo:mongo-client host="172.16.10.247" port="27017" id="mongo">
<mongo:client-options write-concern="SAFE"/>
</mongo:mongo-client>
<mongo:db-factory id="mongoDbFactory" dbname="db_mongo" mongo-ref="mongo" /> //注释,这句为了说明有账号密码而已,实际项目中没有这句<mongo:db-factory dbname="db_mongo" mongo-ref="mongo" username="qqw_reward" password="Reward_New001"/> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
</beans>
3.DAO层代码:
package com.companyname.publicbase.dao; import java.util.List; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update; public interface BaseMongoDao { public <T> List<T> find(Class<T> clazz); public <T> T findOne(Query query, Class<T> clazz); public <T> void update(Query query, Update update, Class<T> T); //批量更新
public <T> void updatemulti(Query query, Update update, Class<T> clazz); public <T> void save(T entity); public <T> T findById(String id, Class<T> clazz); public <T> long count(Query query, Class<T> clazz); public <T> void remove(Query query, Class<T> clazz);
}
4.DAO实现类的代码:
package com.companyname.publicbase.dao.impl; import java.util.List; import javax.annotation.Resource; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional; @Repository
@Transactional(rollbackFor=Exception.class)
public class BaseMongoDaoImpl<T>{ /*@Resource
MongoTemplate mongoTemplate;
public List<T> find(Query query, Class<T> clazz) {
return (List<T>) mongoTemplate.find(query, clazz);
}*/ @Resource
private MongoTemplate mongoTemplate;
public List<T> find(Query query, Class<T> clazz) {
System.out.println(mongoTemplate);
return (List<T>) mongoTemplate.find(query, clazz);
} /**
* spring mongodb 集成操作类
*/
/*@Autowired private MongoTemplate mongoTemplate; public List<T> find(Query query, Class<T> clazz) {
return (List<T>) mongoTemplate.find(query, clazz);
} */ /*public T findOne(Query query, Class<T> clazz) {
return (T) mongoTemplate.findOne(query, clazz);
} public void update(Query query, Update update, Class<T> clazz) {
mongoTemplate.findAndModify(query, update, clazz);
} //批量更新
public void updatemulti(Query query, Update update, Class<T> clazz) {
mongoTemplate.updateMulti(query, update, clazz);
} public void save(T entity) {
mongoTemplate.insert(entity);
} public T findById(String id, Class<T> clazz) {
return (T) mongoTemplate.findById(id, clazz);
} public long count(Query query, Class<T> clazz){
return mongoTemplate.count(query, clazz);
} public void remove(Query query, Class<T> clazz){
mongoTemplate.remove(query, clazz);
}
*/
}
这样Spring4整合mongo3.X就结束了,如果报这个异常:NoClassDefFoundError: org/springframework/objenesis/ObjenesisStd,
就说明你用的不是spring4.x,到此恭喜你已经整合完毕了。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面就是整合mongo2.x的内容了,这个spring3.2起码是没有问题的,来!下面开始整理:
1.pom文件:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.12.4</version>
</dependency> <dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.6.1.RELEASE</version>
</dependency>
2.Spring文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
"> <mongo:mongo host="172.16.10.247" port="27017"/>
<mongo:db-factory dbname="db_mongo" mongo-ref="mongo" username="qqw_reward" password="Reward_New001"/> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
</beans>
3.java调用就跟上面一样了,dao和实现类都是一样的,就这样两套都整理完了,有什么要完善的再回来改,之前测试过是没有问题的,百分百能跑,
也可以看看这个怎么写的http://blog.csdn.net/chenpy/article/details/50458787
Spring4分别整合mongo2.X和3.0的更多相关文章
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合(转载)
孤傲苍狼 只为成功找方法,不为失败找借口! MyBatis学习总结(八)--Mybatis3.x与Spring4.x整合 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: m ...
- Spring集成Mybatis,spring4.x整合Mybatis3.x
Spring集成Mybatis,spring4.x整合Mybatis3.x ============================== 蕃薯耀 2018年3月14日 http://www.cnblo ...
- Struts 2.x 与Spring4.x整合出现:No mapping found for dependency [type=java.lang.String, name='actionPackages...
Struts2.16与Spring4.x整合出错: Caused by: java.lang.RuntimeException: com.opensymphony.xwork2.inject.Depe ...
- 最近用spring4.x整合Jackson------>java.lang.ClassNotFoundException:
最近用spring4.x整合Jackson,结果莫名其妙的一直报错,网上收索的结果都是在maven或者gradle的环境下配置依赖条件解决的:但是eclipseIDE环境下的jar包应该是会自动依赖影 ...
- Struts2+Hibernate4+Spring4框架整合搭建Java项目原型
收藏 http://www.cnblogs.com/mageguoshi/p/5850956.html Struts2+Hibernate4+Spring4框架整合搭建Java项目原型
- (转)阿里官方提供的dubbo-spring-boot-starter 1.0.1 整合的dubbo 2.6.0和spring boot 1.5.9 案例
作者:许浩_5e9f链接:https://www.jianshu.com/p/5381cc8876e3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. springboo ...
- Mybatis3.x与Spring4.x整合(转)
http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:cre ...
- MyBatis入门学习教程-Mybatis3.x与Spring4.x整合
一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...
随机推荐
- MSP430 中断优先级
MSP430的中断优先级.打开关闭.中断嵌套 优先级顺序从高到低为: PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */ PORT1_VECTOR (4 * ...
- 转:用 git 下载 uboot 源码
1. 起因: 想下载 uboot 源码,原先的方法都是下载压缩包,然后放到虚拟机上的 Ubuntu ,再解压. 在看 uboot 源码的时候,发现 v2016.01 版本的uboot中关于 board ...
- Dedecms v5.7包含上传漏洞利用
Title:Dedecms v5.7包含上传漏洞利用 --2012-09-21 10:16 注册,登录,免邮箱验证. up.htm ---------------------------------- ...
- Drag & Drop and File Reader
参考 : http://www.html5rocks.com/zh/tutorials/file/dndfiles/ http://blog.csdn.net/rnzuozuo/article/det ...
- ural 1640 Circle of Winter
这道题真的很无聊,就是找一个圆,至少有一个点在这个圆上,其他点不能在圆外,半径不定: #include <cstdio> #include <cstring> #include ...
- android项目中各个文件的介绍
src:java源码gen:自动生成 R.javaandroid.jarandroid Dependenvies 支持jar包assets:资产目录 小的数据库 网页 bin:编译生成的临时文件lib ...
- 3个QT新闻网,2个发烧友网站
http://planet.qt.io/ http://blog.basyskom.com/2015/introducing-qtopcua/ http://www.qtworldsummit.com ...
- Linux企业级项目实践之网络爬虫(30)——通过查阅RFC文档扩充更加复杂的功能
HTTP是一种很简单的请求.响应式协议,客户端发送一个请求.服务器返回一个响应.HTTP 1.1 版本规范由 RFC2616 定义.了解了 HTTP请求.响应消息在TCP数据流中的格式,很容易使用纯 ...
- 嵌入式linux内核制作
今天来总结一下mini2440的内核制作过程. 一. 将内核文件拷贝至目标目录,解压. 二.清除中间文件 命令:make distclean 三.配置内核文件 将开发板厂商制作好的内核文件拷贝至内核文 ...
- 在 SQL Server 2012 附加 Adventure Works 範例資料庫
原文地址:http://technet.microsoft.com/zh-tw/library/eb1f9417-4cca-4575-a725-187bcd60c7e7 附加数据库时报错 错误5123 ...