? ? ? 最近要做一個統(tǒng)計用戶行為的功能,需求不是很明確瞄桨,數(shù)據(jù)結(jié)構(gòu)也會不斷變化话速。本著快速開發(fā)的想法,也不想頻繁修改表結(jié)構(gòu)讲婚,打算用mongodb在做數(shù)據(jù)庫尿孔。把需要保持記錄放到map里,直接insert到mongodb里筹麸,不用建表,不用擔心以后數(shù)據(jù)變化雏婶。
第一步? 引用maven
? ? ? ? ? ? ? ? ? ? ?<dependency>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <groupId> org.springframework.boot</groupId>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<artifactId>spring-boot-starter-data-mongodb</artifactId>
? ? ? ? ? ? ? ? ? ? ? ? </dependency>
使用spring data 實現(xiàn)對mongodb的支持
第二步 添加配置
? ? 添加mongodb host物赶,port,database等配置
第三步 創(chuàng)建MongoTemplate
像JdbcTemplate一樣留晚,spring data也為Mongodb提供一個MongoTemplate酵紫,主要創(chuàng)建了這個對象告嘲,就可以說環(huán)境搭建成功。注意 在application.yml配置的 host port 等并不會自動注入到MongoTemplate中來的奖地,需要自己實現(xiàn)MongoTemplate橄唬。
先創(chuàng)建MongoConfig 將配置文件的內(nèi)容注入到j(luò)ava bean中
import org.springframework.boot.context.properties.ConfigurationProperties;
import lombok.Data;
@ConfigurationProperties(prefix="spring.data.mongodb")
@Data
public class MongoConfig {
private String host;
private int port;
private String database;
}
引入java config 創(chuàng)建對象
@Configuration
@EnableConfigurationProperties(value=MongoConfig.class)
public class MongodbClient {
@Autowired
private MongoConfig mongoConfig;
/**
*? 創(chuàng)建Mongo 連接驅(qū)動
* @return
*/
@Bean
public Mongo newClient() {
Mongo mongo = new MongoClient(mongoConfig.getHost(),mongoConfig.getPort());
return mongo;
}
@Bean
public MongoTemplate newTemplate() {
MongoTemplate template = new MongoTemplate(newClient(), mongoConfig.getDatabase());
return template;
}
}
第四步 使用juint測試
@RunWith(SpringRunner.class)
@SpringBootTest
public class ConfigTest {
@Autowired
private MongoTemplate template;
@Test
public void funt() {
DBCollection collection = template.getCollection("osChinas");
System.out.println(collection);
}
}
開到下圖就說明搭建成功
第一次發(fā)帖,說得不好参歹,請多多包涵仰楚。如果出現(xiàn)解決不了問題,也可以直接發(fā)郵箱給我:aojianshop@gmail.com