Spring集成MongoDB
- 先引入包spring-data-mongodb
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.10.1.RELEASE</version>
</dependency>
- 在spring配置文件中 配置基本信息:
<mongo:mongo host="10.100.159.156" port="27017" />
<!--skyhammer 是数据库的名字-->
<mongo:db-factory dbname="skyhammer" mongo-ref="mongo"/>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>
- 编写测试代码:
@Autowired
private MongoTemplate mongoTemplate;
@RequestMapping("/mongoTest")
@ResponseBody
private Object mongoTest()
{
Query query = new Query();
Criteria criteria = Criteria.where("taskId").is(1);
query.addCriteria(criteria);
List<Map> result = mongoTemplate.find(query, Map.class, "zabbixHistory");
return result;
}
在集成过程中遇到如下错误:
这个错误是说找不到 这个findMergedAnnotation 方法,我们去 spring-core-annotation- AnnotatedElementUtils 真的没有找到,这是因为版本的问题。
解决方案:
修改spring的版本 改为4.3.5 。
运行成功,如下图所示: