最近公司需要使用mongodb,查阅资料后感觉用spring集成比较方便。于是搞了一下spring-data-mongodb,文章教程引用以下大神的 http://blog.csdn.net/tuzongxun/article/details/51404529 在此贴出几个遇到的问题以示警戒: 1、
<!-- spring连接mongodb数据库的配置 --> <mongo:mongo-client host="localhost" port="27017" credentials="root:root@admin" id="mongo"> <mongo:client-options write-concern="SAFE"/> </mongo:mongo-client> <mongo:db-factory id="mongoDbFactory" dbname="testDB" mongo-ref="mongo" /> <!-- 只要使用这个调用相应的方法操作 --> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> </bean>连接mongo采用了用户名密码控制,由于用户是建在admin下故而必须连接admin数据库。使用时将admin改为test出现了以上错误。 2、spring bean 初始化错误,由于未在spring中自动装载相关dao导致mongoTemplate无法完成装载,一直空指针异常。引入代码如下:
<context:component-scan base-package="com.secyta.casdata.modules.test.dao.UserDaoImpl" />3、java.lang.NoSuchMethodError:org.springframework.data.mongodb.core.mapping.MongoPersistentEntity.getPropertyAccessor(Ljava/lang/Object;)Lorg/springframework/data/mapping/PersistentPropertyAccessor; 使用spring-data-mongo需要导入spring-data-mongodb和spring-data-commons此处是由于spring-data-commons未被导入,或者导入多个造成冲突引起的。
