Jor*_*rdi 6 spring spring-boot
我将此依赖项用于我的 spring bott 服务:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我创建了一个自定义转换器:
import org.springframework.core.convert.converter.Converter;
@Component
public class ReferenceWriterConverter implements Converter<Reference, DBObject> {
@Override
public DBObject convert(Reference reference) {
DBObject dbObject = new BasicDBObject();
//...
return dbObject;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何“注册”这个转换器。然而,在那里潜水我不太清楚我是否需要使用CustomConvertions类或MappingMongoConverter.
我需要如何将我的自定义转换器“注册”到我的 Spring Boot 服务中?
有任何想法吗?
您需要覆盖 mongodb 的 customConversions,如下所示:
@Configuration
public class MongoConfig {
@Bean
public MongoCustomConversions customConversions(){
List<Converter<?,?>> converters = new ArrayList<>();
converters.add(ReferenceWriterConverter.INSTANCE);
return new MongoCustomConversions(converters);
}
@WritingConverter
enum ReferenceWriterConverter implements Converter<Reference, DBObject> {
INSTANCE;
@Override
public String convert(Reference reference) {
//do stuff
}
}
}
Run Code Online (Sandbox Code Playgroud)
当然,您也可以像上面一样在单独的类中声明转换器,然后将其自动装配到配置中。
| 归档时间: |
|
| 查看次数: |
8983 次 |
| 最近记录: |