jackson 自订序列化程式/还原序列化程式可以是Spring Bean吗?

y53ybaqx  于 2022-11-08  发布在  Spring
关注(0)|答案(1)|浏览(105)

我在POJO中有一个字段,它需要在序列化之前加密,同样,在反序列化时解密。问题是加密器是一个Spring bean,所以我需要在我的自定义序列化器/反序列化器中访问Spring上下文。
我现在就是这么做的:

private static final Cryptor cryptor = ApplicationContextUtils.getApplicationContext().getBean(Cryptor.class);

我想知道是否有可能在不手动访问上下文的情况下自动连接cryptor。将串行器/反串行器转换为Spring bean没有帮助,因为Jackson使用无参数构造函数创建了串行器/反串行器的示例,所以自动连接的字段cryptor仍然是null
下面用一段代码来说明我所说的内容:
第一个
先谢谢你。

sulc1iza

sulc1iza1#

是的,它可以。只要使用@JsonComponent注解。我可以推荐你看baeldung关于这个主题的文章:https://www.baeldung.com/spring-boot-jsoncomponent
UPD:此处为@JsonComponent注解的javadoc:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/jackson/JsonComponent.html

相关问题