Insight spring @Value 注入处理

来源:互联网 发布:mp4淘宝 编辑:程序博客网 时间:2024/05/21 21:48

经常使用@Value,有空正好Insight spring怎样实现Value表达式解析并注入的?

...

场景:properties配置key-value,然后@Value(value = "${key}") String config;

...

Insight 核心处理,过程直接参考源码:

其中涉及到的具体实现类列表:

首先getSuggestedValue,得到的配置型的value eg:${config},或者#{tom.age}
--@see QualifierAnnotationAutowireCandidateResolver
然后真正的value 值解析,
--@see PlaceholderResolvingStringValueResolverimplements StringValueResolver
最后需要根据value 进行convert eg: Integer

--@see TypeConverterDelegate
--@see CustomNumberEditor.setAsTex
--转换的实现 NumberUtils.parseNumbe

...

另外:spring 支持各种类型转换的PropertyEditor,基本上可以随心所欲的注入配置:




0 0
原创粉丝点击