class MongoDBConfiguration {

	@Value("${mongodb.host}")
	private String mongodbHost;

	@Value("${mongodb.port}")
	private int mongodbPort;

	@Value("${mongodb.database}")
	private String mongodbDatabase;

	@Bean
	public MongoClient mongoClient() {<FILL_FUNCTION_BODY>}

	@Bean
	public MongoTemplate mongoTemplate(MongoClient mongoClient) {
		return new MongoTemplate(mongoClient, "test");
	}

	@Bean
	public MongoDatabaseFactory mongoDatabaseFactory(MongoClient mongoClient) {
		return new SimpleMongoClientDatabaseFactory(mongoClient, "test");
	}

	@Bean
	public MongoTransactionManager transactionManager(MongoDatabaseFactory mongoDatabaseFactory) {
		return new MongoTransactionManager(mongoDatabaseFactory);
	}

}

		String connectionString = "mongodb://" + this.mongodbHost + ":" + this.mongodbPort + "/" + this.mongodbDatabase;
		return MongoClients.create(connectionString);
	
<no_super_class>