|
@@ -0,0 +1,44 @@
|
|
|
|
+package cn.com.qmth.examcloud.core.questions.config;
|
|
|
|
+
|
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
|
+import org.springframework.context.annotation.Primary;
|
|
|
|
+import org.springframework.data.mongodb.MongoDatabaseFactory;
|
|
|
|
+import org.springframework.data.mongodb.core.MongoTemplate;
|
|
|
|
+import org.springframework.data.mongodb.core.convert.DbRefResolver;
|
|
|
|
+import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
|
|
|
|
+import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
|
|
|
|
+import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
|
|
|
+
|
|
|
|
+@Configuration
|
|
|
|
+public class MongoConfig {
|
|
|
|
+
|
|
|
|
+ private final MongoDatabaseFactory mongoDbFactory;
|
|
|
|
+
|
|
|
|
+ private final MongoMappingContext mongoMappingContext;
|
|
|
|
+
|
|
|
|
+ public MongoConfig(MongoDatabaseFactory mongoDbFactory, MongoMappingContext mongoMappingContext) {
|
|
|
|
+ this.mongoDbFactory = mongoDbFactory;
|
|
|
|
+ this.mongoMappingContext = mongoMappingContext;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Primary
|
|
|
|
+ @Bean(name = "mongoTemplate")
|
|
|
|
+ public MongoTemplate mongoTemplate() {
|
|
|
|
+ // 支持懒加载
|
|
|
|
+ DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoDbFactory);
|
|
|
|
+ MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, mongoMappingContext);
|
|
|
|
+ // converter.setTypeMapper(new DefaultMongoTypeMapper(null));
|
|
|
|
+ return new MongoTemplate(mongoDbFactory, converter);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Bean(name = "mongoTemplate2")
|
|
|
|
+ public MongoTemplate mongoTemplate2() {
|
|
|
|
+ // 不支持懒加载
|
|
|
|
+ DbRefResolver dbRefResolver = MyDbRefResolver.INSTANCE;
|
|
|
|
+ MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, mongoMappingContext);
|
|
|
|
+ // converter.setTypeMapper(new DefaultMongoTypeMapper(null));
|
|
|
|
+ return new MongoTemplate(mongoDbFactory, converter);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|