[英]How exactly does Spring inject properties when annotating with @Value?
我一直想知道:在使用@Value
注释时,Spring如何注入属性? 检查字段是否具有注释的机制是什么? 它是使用反射和一些类来查找所有带注释的类并创建它们注入属性的实例,还是以其他方式执行? 我知道注释处理只会在编译过程中使用,不会改变代码,所以这里幕后发生的事情真的......?
提前致谢!
@Value
注释类型具有@Retention(value=RUNTIME)
注释,这意味着该信息在运行时可用(即使用反射)。
BeanPostProcessor
,特别是AutowiredAnnotationBeanPostProcessor
可以在实例化之后检查bean的字段,方法或构造函数上是否存在此批注。
如果启用了annotation-config功能,则每次Spring实例化bean时,它都会通过其所有字段和方法,并检查它们是否使用反射使用Spring支持的注释之一进行注释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.