#if ($PACKAGE_NAME && $PACKAGE_NAME != "")package $PACKAGE_NAME;#end import com.mongodb.MongoClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.authentication.UserCredentials; import org.springframework.data.mongodb.MongoDbFactory; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.SimpleMongoDbFactory; import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver; import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper; import org.springframework.data.mongodb.core.convert.MappingMongoConverter; import org.springframework.data.mongodb.core.mapping.MongoMappingContext; import java.net.UnknownHostException; @Configuration public class $NAME { @Value("${mongodb.host}") private String host; @Value("${mongodb.port}") private int port; @Value("${mongodb.database}") private String database; @Value("${mongodb.username}") private String username; @Value("${mongodb.password}") private String password; @Bean(name = "mongoTemplate") public MongoTemplate createMongoTemplate() throws UnknownHostException { MongoClient mongoClient = new MongoClient(host, port); //TODO Configure additional MongoDB mongoClient settings if needed MongoDbFactory factory = new SimpleMongoDbFactory(mongoClient, database, new UserCredentials(username, password)); MappingMongoConverter converter = new MappingMongoConverter(new DefaultDbRefResolver(factory), new MongoMappingContext()); converter.setTypeMapper(new DefaultMongoTypeMapper(null)); return new MongoTemplate(factory, converter); } }