我们都知道,如果我们尝试通过 spring-mvc 将文档添加到 mongodb,spring 会添加 _class 来跟踪和促进文档的未来编组/解组。如果 in 成为一种开销,并且可能不想在 mongodb 中包含 _class 。以下简单的 spring 配置有助于避免在 mongodb 中添加 _class。
<bean id="defaultTypeMapper"
class="org.springframework.data.mongodb.core.convert.DefaultTypeMapper">
<property name="typeKey"><null/></property>
</bean>
<bean id="defaultMongoConverter"
class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mappingContext" ref="mappingContext" />
<property name="typeMapper" ref="defaultTypeMapper"></property>
</bean>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
<constructor-arg name="mongoConverter" ref="defaultMongoConverter" />
<property name="writeResultChecking" value="EXCEPTION" />
</bean>
可以很容易地找到 mongodbFactory 和 mappingContext 的配置。所以我没有在这里添加它。请注意我包含 typeKey 的方式。