前几次的例子,要么是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的更多相关文章

  1. 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代码 ...

  2. Spring Boot开发MongoDB应用实践

    本文继续上一篇定时任务中提到的邮件服务,简单讲解Spring Boot中如何使用MongoDB进行应用开发. 上文中提到的这个简易邮件系统大致设计思路如下: 1.发送邮件支持同步和异步发送两种 2.邮 ...

  3. 使用 Spring Data 进行 MongoDB 4.0 事务处理

    使用 Spring Data 进行 MongoDB 4.0 事务处理 原文链接:http://spring.io/blog/2018/06/28/hands-on-mongodb-4-0-transa ...

  4. 生产环境部署MongoDB副本集(带keyfile安全认证以及用户权限)

    本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/8,欢迎留言. 安装软件包:mongodb-linux-x86_64-3.4.1.tgz ...

  5. 使用spring boot访问mongodb数据库

    一. spring boot中传参的方法 1.自动化配置 spring Boot 对于开发人员最大的好处在于可以对 Spring 应用进行自动配置.Spring Boot 会根据应用中声明的第三方依赖 ...

  6. spring+springmvc+maven+mongodb

    1.前言 最近项目开发使用到了spring+springmvc+maven+mongodb,项目中的框架是用springboot进项开发的,对于我们中级开发人员来说,有利有弊,好处呢是springbo ...

  7. MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB

    Spring Boot 是一个轻量级框架,可以完成基于 Spring 的应用程序的大部分配置工作.Spring Boot的目的是提供一组工具,以便快速构建容易配置的Spring应用程序,省去大量传统S ...

  8. MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  9. MongoDB和Java(5):Spring Data整合MongoDB(注解配置)

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  10. MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

随机推荐

  1. CentOS上搭建Tomcat环境并配置服务自启动

    下载安装JDK 卸载原装的OpenJDK(如果有) # 查看是否安装Java java -version # 查看Java的安装包信息 rpm -qa | grep java # 卸载原装Java,& ...

  2. Cisco交换机IOS配置介绍

    一.模式• 用户模式(>):• 特权模式(#):• 全局配置模式(config#):• 接口配置模式(config-if#):• 线路模式(#config-line): 二.基本IOS命令结构• ...

  3. 紫书 例题 9-11 UVa 1331 (最优三角形剖分)

    设置f(i, j)为点i, i + 1 --j所组成的多边形. 那么可以枚举中间点k, 得f(i, j) = min{s(i, j, k), f(i, k), f(k, j) | i < k & ...

  4. C++ lambda表达式 (一)

    为什么要lambda函数 匿名函数是许多编程语言都支持的概念,有函数体,没有函数名.1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值.正因为有这样的需求,c++引入了lambd ...

  5. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

    通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一个定制的 Dockerfile 来 Docker 化Dockerize一个 ...

  6. HDU4009 Transfer water 【最小树形图】

    Transfer water Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) T ...

  7. CS224d lecture 9札记

    欢迎转载.转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47193885 近期几课的内容不是非常难.还有我的理解能力有所提高 ...

  8. javescript定时器demo

    本来认为这个事情还是挺easy的不值得写上去,今天同事突然问我.我心想曾经写过,可是就是想不起函数的名称的,于是翻了一下原来的代码. function run() { interval = setIn ...

  9. 第一天,Mysql安装,DDL(数据库定义语言),DBA,DML(数据库操纵语言),导入外面的sql文件

    把“D:\mysql-5.6.22-winx64\bin”添加到系统环境变量path中了,然后在任意目录可访问mysql等命令,这样如登录等操作就不需要进入MySQL安装目录才好执行! MySQL下载 ...

  10. js---03属性操作

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...