Mongodb总结4-Spring环境使用Mongodb
前几次的例子,要么是Shell,要么是普通Java应用程序的例子。
实际情况,是要在Spring的项目里用,因此需要做一些改造。
1.配置文件
C:\hanhai\config\mongodb.properties
mongodb.host=172.17.100.150
mongodb.port=27017
mongodb.db=zrb
2.配置文件对应的实体类
 public class MongodbConfig {
	private String host;
	private String port;
	private String db;
}
3.Spring扫描配置文件
<context:property-placeholder
location="file:${zhaorongbao.config_path}/config/mongodb.properties"
ignore-unresolvable="true" />
4.属性到实体类
<bean id="mongodbConfig" class="com.hanhai.zrb.api.mongodb.MongodbConfig">
<property name="host" value="${mongodb.host}"></property>
<property name="port" value="${mongodb.port}"></property>
<property name="db" value="${mongodb.db}"></property>
</bean>
5.Spring工具类,获得容器中的对象
需要扫描这个类SpringContextUtil
<context:component-scan base-package="com.hanhai.zrb.api.mongodb" />
SpringContextUtil在com.hanhai.zrb.api.mongodb这个包中。
@Component
public class SpringContextUtil implements ApplicationContextAware{ private static ApplicationContext ctx;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.ctx = applicationContext;
} public static ApplicationContext getCtx(){
return ctx;
} public static Object getBean(String name) throws BeansException {
return ctx.getBean(name);
} }
6.SpringMVC中使用。
@
Controller
@RequestMapping("mongodb")
public class MongodbTestController extends BaseController { @RequestMapping("test")
public void test(HttpServletResponse response) throws IOException {
DB db = MongoUtil.db(); ProjectDetail projectDetail = buildProjectDetail();
DBCollection projectDetailCollection = db
.getCollection("projectDetail");
}
7.MongoUtil工具类。
import java.net.UnknownHostException; import org.apache.log4j.Logger; import com.mongodb.DB;
import com.mongodb.Mongo; public class MongoUtil {
public static final int DEFAULT_PORT = 27017;
public static final String DEFAULT_HOST = "172.17.100.150"; public static Logger log = Logger.getLogger(MongoUtil.class); private static Mongo instance; //@Resource(name="mongodbConfig")
//private static MongodbConfig mongodbConfig;
//没有直接注入
private static MongodbConfig config = null; public static Mongo mongo() {
//使用工具方法获得容器中的对象
Object object=SpringContextUtil.getBean("mongodbConfig"); if(object instanceof MongodbConfig){
config = (MongodbConfig)object;
}else{
log.error("Mongodb config error~");
}
try {
if (instance == null) {
instance = new Mongo(config.getHost(), Integer.parseInt(config.getPort()));
}
} catch (UnknownHostException e) {
e.printStackTrace();
}
return instance;
} public static DB db(){
Mongo mongo = MongoUtil.mongo();
DB db = mongo.getDB(config.getDb());
if(db == null){
throw new RuntimeException("Mongo db is null");
}
return db;
} public static void close() {
if (instance != null) {
instance.close();
}
}
}
Mongodb总结4-Spring环境使用Mongodb的更多相关文章
- spring MVC 整合mongodb
		
Spring Mongodb 目录 1 SPRING整合MONGODB 1 1.1 环境准备 1 1.2 包依赖 1 1.3 配置 2 2 案列 5 2.1 SPRING MVC整合MONGODB代码 ...
 - Spring Boot开发MongoDB应用实践
		
本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发. 上文中提到的这个简易邮件系统大致设计思路如下: 1.发送邮件支持同步和异步发送两种 2.邮 ...
 - 使用 Spring Data 进行 MongoDB 4.0 事务处理
		
使用 Spring Data 进行 MongoDB 4.0 事务处理 原文链接:http://spring.io/blog/2018/06/28/hands-on-mongodb-4-0-transa ...
 - 生产环境部署MongoDB副本集(带keyfile安全认证以及用户权限)
		
本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/8,欢迎留言. 安装软件包:mongodb-linux-x86_64-3.4.1.tgz ...
 - 使用spring boot访问mongodb数据库
		
一. spring boot中传参的方法 1.自动化配置 spring Boot 对于开发人员最大的好处在于可以对 Spring 应用进行自动配置.Spring Boot 会根据应用中声明的第三方依赖 ...
 - spring+springmvc+maven+mongodb
		
1.前言 最近项目开发使用到了spring+springmvc+maven+mongodb,项目中的框架是用springboot进项开发的,对于我们中级开发人员来说,有利有弊,好处呢是springbo ...
 - MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB
		
Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作.Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统S ...
 - MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群
		
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
 - MongoDB和Java(5):Spring Data整合MongoDB(注解配置)
		
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
 - MongoDB和Java(4):Spring Data整合MongoDB(XML配置)
		
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
 
随机推荐
- 【Linux下安装配置Jupyter】
			
""" 第一步 安装 """ pip3 install -i https://pypi.douban.com/simple jupyter ...
 - C# 调用者信息特性(Attribute)
			
.NET 4.5中引用了三种特性(Attribute), 该特性允许获取调用者的当前编译器的执行文件名.所在行数与方法或属性名称. 命名空间 System.Runtime.CompilerServic ...
 - Activiti工作流(4):编写一个HelloWorld
			
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.使用eclipse的activiti插件画流程图 在resource文件夹下新建一个工作流diagram 右键——new——other...— ...
 - Vijos——T1626 爱在心中
			
https://vijos.org/p/1626 描述 “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动.爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our H ...
 - Intel TBB in OpenCASCADE
			
Intel TBB in OpenCASCADE eryar@163.com OpenCASCADE使用了一个开源的第三方库Intel TBB,这个并行计算库主要用于网格化.布尔操作等复杂算法,可以明 ...
 - jquery源码09  (6058 , 6620) css() : 样式的操作
			
var curCSS, iframe, // swappable if display is none or starts with table except "table", & ...
 - 61.node.js开发错误——Error: Connection strategy not found
			
转自:https://blog.csdn.net/fd214333890/article/details/53457145
 - BZOJ 1232 Kruskal
			
思路: 跟昨天的考试题特别像-.. 就是裸的Kruskal 把边权设为连接的两个点的点权之和加上边权*2 搞定 //By SiriusRen #include <cstdio> #incl ...
 - Linux下截图技巧
			
在需要Linux显示图片的场合,最普通的方法,会考虑用数码相,或是用Vmware,或VPc来抓拍,这样以来会比较麻烦,Linux也自带了些工具例如Gimp,ksnapshot这里我介绍一 ...
 - windows下gopath设置
			
下载了go语言的安装包, 然后安装, 装完了需要设置三个地方: 1. 在windows的PATH变量中添加go的可执行文件所在的目录: PATH=C:\Go\bin;其他设置; 2. 设置 GOROO ...