最近要做一个统计用户行为的功能,需求不是很明确,数据结构也会不断变化。本着快速开发的想法,也不想频繁修改表结构,打算用mongodb在做数据库。把需要保持记录放到map里,直接insert到mongodb里,不用建表,不用担心以后数据变化。
第一步 引用maven
<dependency>
<groupId> org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
使用spring data 实现对mongodb的支持
第二步 添加配置
添加mongodb host,port,database等配置
第三步 创建MongoTemplate
像JdbcTemplate一样,spring data也为Mongodb提供一个MongoTemplate,主要创建了这个对象,就可以说环境搭建成功。注意 在application.yml配置的 host port 等并不会自动注入到MongoTemplate中来的,需要自己实现MongoTemplate。
先创建MongoConfig 将配置文件的内容注入到java 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 创建对象
@Configuration
@EnableConfigurationProperties(value=MongoConfig.class)
public class MongodbClient {
@Autowired
private MongoConfig mongoConfig;
/**
* 创建Mongo 连接驱动
* @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);
}
}
开到下图就说明搭建成功
第一次发帖,说得不好,请多多包涵。如果出现解决不了问题,也可以直接发邮箱给我:aojianshop@gmail.com