Add auto-configuration support for ReactiveGridFsTemplate
See gh-16467
This commit is contained in:
committed by
Stephane Nicoll
parent
1a05851fe2
commit
d9c9ed1d52
@@ -29,6 +29,8 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.core.io.buffer.DataBufferFactory;
|
||||
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
|
||||
import org.springframework.data.mongodb.ReactiveMongoDatabaseFactory;
|
||||
import org.springframework.data.mongodb.core.ReactiveMongoTemplate;
|
||||
import org.springframework.data.mongodb.core.SimpleReactiveMongoDatabaseFactory;
|
||||
@@ -37,6 +39,7 @@ import org.springframework.data.mongodb.core.convert.MongoConverter;
|
||||
import org.springframework.data.mongodb.core.convert.MongoCustomConversions;
|
||||
import org.springframework.data.mongodb.core.convert.NoOpDbRefResolver;
|
||||
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
||||
import org.springframework.data.mongodb.gridfs.ReactiveGridFsTemplate;
|
||||
|
||||
/**
|
||||
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's reactive mongo
|
||||
@@ -49,6 +52,7 @@ import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
||||
* to the {@literal test} database.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @author Artsiom Yudovin
|
||||
* @since 2.0.0
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@@ -85,4 +89,20 @@ public class MongoReactiveDataAutoConfiguration {
|
||||
return mappingConverter;
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public DataBufferFactory dataBufferFactory() {
|
||||
return new DefaultDataBufferFactory();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public ReactiveGridFsTemplate reactiveGridFsTemplate(
|
||||
ReactiveMongoDatabaseFactory reactiveMongoDbFactory,
|
||||
MappingMongoConverter mappingMongoConverter,
|
||||
DataBufferFactory dataBufferFactory) {
|
||||
return new ReactiveGridFsTemplate(dataBufferFactory, reactiveMongoDbFactory,
|
||||
mappingMongoConverter, null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoCon
|
||||
import org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.data.mongodb.core.ReactiveMongoTemplate;
|
||||
import org.springframework.data.mongodb.gridfs.ReactiveGridFsTemplate;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -30,6 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
* Tests for {@link MongoReactiveDataAutoConfiguration}.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @author Artsiom Yudovin
|
||||
*/
|
||||
public class MongoReactiveDataAutoConfigurationTests {
|
||||
|
||||
@@ -55,4 +57,10 @@ public class MongoReactiveDataAutoConfigurationTests {
|
||||
.doesNotHaveBean(MongoReactiveDataAutoConfiguration.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gridFsTemplateExists() {
|
||||
this.contextRunner.run((context) -> assertThat(context)
|
||||
.hasSingleBean(ReactiveGridFsTemplate.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user