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.配置檔案對應的實體類
3.Spring掃描配置檔案
4.屬性到實體類
5.Spring工具類,獲得容器中的物件
需要掃描這個類SpringContextUtil
<context:component-scan base-package="com.hanhai.zrb.api.mongodb" />
SpringContextUtil在com.hanhai.zrb.api.mongodb這個包中。
6.SpringMVC中使用。
@
7.MongoUtil工具類。
實際情況,是要在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();
}
}
}
相關文章
- Docker 搭建MongoDB環境DockerMongoDB
- 在node環境下使用Mongoose來操作MongoDBMongoDB
- MongoDB —— Windows環境安裝與簡單使用MongoDBWindows
- MongoDB查詢總結MongoDB
- MongoDB基礎總結MongoDB
- Linux 下配置 node + mongodb 環境LinuxMongoDB
- MongoDB Windows環境安裝及配置MongoDBWindows
- MongoDB知識點總結MongoDB
- MongoDB的學習總結MongoDB
- MongoDB監控方法總結MongoDB
- mongoDB 小指令碼總結MongoDB指令碼
- MongoDB管理使用者相關操作總結MongoDB
- Java專案中MongoDb學習和使用總結JavaMongoDB
- Mac環境下安裝MongoDB資料庫MacMongoDB資料庫
- 阿里雲配置nodejs+mongodb環境阿里NodeJSMongoDB
- 使用mongoosejs連結MongodbJSMongoDB
- SpringBoot高階篇MongoDB之基本環境搭建與使用Spring BootMongoDB
- MongoDB shell常用命令總結MongoDB
- mongodb 階段性技術總結MongoDB
- OpenMP 環境變數使用總結變數
- mongodb關於使用者許可權的總結MongoDB
- 【Mongodb】使用者和認證許可權總結MongoDB
- 【Mongodb】使用者和認證 許可權總結MongoDB
- MongoDB副本集replica set (二)--副本集環境搭建MongoDB
- 搭建 MongoDB分片(sharding) / 分割槽 / 叢集環境MongoDB
- 【Mongodb】分片複製集環境新增新的分片MongoDB
- MongoDB 使用MongoDB
- Mongodb使用MongoDB
- [MongoDB知識體系] 一文全面總結MongoDB知識體系MongoDB
- 常用的MongoDB技術網站總結MongoDB網站
- MongoDB的分片資料庫命令總結MongoDB資料庫
- vi 命令使用--AIX環境下總結AI
- Mac環境下手把手教你如何使用mongoDB+Robo 3TMacMongoDB
- mongodb複製集(replica sets)+分片(sharding)環境搭建MongoDB
- MongoDB實戰-如何在Windows環境下管理副本集MongoDBWindows
- 關於Mongodb的全面總結,學習mongodb的人,可以從這裡開始!MongoDB
- mongodb索引使用MongoDB索引
- MongoDB的使用MongoDB