我在POJO中有一个字段,它需要在序列化之前加密,同样,在反序列化时解密。问题是加密器是一个Spring bean,所以我需要在我的自定义序列化器/反序列化器中访问Spring上下文。
我现在就是这么做的:
private static final Cryptor cryptor = ApplicationContextUtils.getApplicationContext().getBean(Cryptor.class);
我想知道是否有可能在不手动访问上下文的情况下自动连接cryptor
。将串行器/反串行器转换为Spring bean没有帮助,因为Jackson使用无参数构造函数创建了串行器/反串行器的示例,所以自动连接的字段cryptor
仍然是null
。
下面用一段代码来说明我所说的内容:
第一个
先谢谢你。
1条答案
按热度按时间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