java – Spring不使用mongo自定义转换器

前端之家收集整理的这篇文章主要介绍了java – Spring不使用mongo自定义转换器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直在尝试注册我自己的写自定义转换器来更改默认ID值.
但它实际上从未打过电话.
这是我的自定义转换器

public class EventKeyConverter implements Converter

这里是我注册客户转换器的地方

@Override
@Bean
public CustomConversions customConversions() {
    List

当我保存一些对象时,这个转换器永远不会被调用.

编辑1:
我需要将默认对象Id更改为所有存储库中的某个自定义Id(UUID随机密钥).这就是我尝试使用mongo转换器的原因.

编辑2:
刚刚发现了这个问题.在包含customConversion()的类中将@Configuration更改为@Component,它可以正常工作.但还是想知道这里发生了什么?

最佳答案
@Configuration定义了一个Spring上下文片段,该片段包含如果使用@Bean注释返回新bean并将它们放在上下文中的方法.

@Component是一种说“这个Pojo是一个Spring bean”的方式.然后,您需要@ComponentScan注释或XML等效项来扫描@Component注释bean的包.

所以在你的情况下,你创建转换器很好,但是在你添加@Component之前它没有被注册为Spring bean,所以它最初不起作用.

猜你在找的Spring相关文章