我一直想知道:Spring 在使用时到底是如何注入属性的@Value
注解?检查字段是否具有注释的机制是什么?是使用反射和某个类来查找所有带注释的类并创建它们的实例来注入属性,还是以其他方式执行此操作?我知道注释处理只会在编译期间使用,不会更改代码,那么幕后到底发生了什么......?
提前致谢!
The @Value http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/beans/factory/annotation/Value.html注释类型有@Retention(value=RUNTIME) http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/RetentionPolicy.html#RUNTIME注解,这意味着该信息在运行时可用(即使用反射)。
A BeanPostProcessor
,特别是AutowiredAnnotationBeanPostProcessor http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.html可以在实例化后检查 bean 的字段、方法或构造函数上是否存在此注释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)