[英]How to get all converters and formatters that register in spring?
我想让Spring ConverterSPI / Formatter和JsonHttpMessageConverter / XmlHttpMessageConverter中的序列化和反序列化行为保持一致。
因此,我尝试将Spring ConverterSPI中的所有转换器注册为JsonHttpMessageConverter / XmlHttpMessageConverter提供的全局配置。
那么如何获得所有在春季注册的转换器和格式化器呢?
我想按目标类型获取String和Number类的转换器和格式化程序条件。
最严重的问题是某些基于字段注释的格式化程序,例如@NumberFormat。 例如,基于@NumberFormat的org.springframework.format.number.NumberFormatAnnotationFormatterFactory创建Formatter。
这也是spring有用的格式化程序,它不仅与类类型有关,而且与字段注释有关。 我需要获得有关格式化程序这部分的相关信息。
这可能吗?
您可以通过以下接口将它们自动接线:
@Autowired
private List<HttpMessageConverter> converters;
@Autowired
private List<Formatter> formatters;
像这样。
@SpringBootApplication
public class Application {
private static ApplicationContext applicationContext;
public static void main(String[] args) {
applicationContext = SpringApplication.run(Application.class, args);
applicationContext.getBeansOfType(XmlHttpMessageConverter.class);
applicationContext.getBeansOfType(Formatter.class);
}
}
显然,您需要对getBeansOfType的返回值进行处理。
我不确定您所说的“按字段注释注册”是什么意思,当您在spring中查询它具有什么bean时,这无关紧要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.