处理自定义注释

| 是否可以使BeanFactoryPostProcessor检测到bean类是否具有使用自定义注释(例如,@ inject)进行注释的方法,并在这种情况下继续进行某种处理? 如果这不可能,您能否解释一下我如何访问Bean元数据并在BeanFactoryPostProcessor中加以利用? 提前致谢。 编辑:我碰到了此链接,但是不确定是否是正确的解决方案,因为我听说使用反射会大大降低整体应用程序性能。     
已邀请:
传递到postProcessBeanFactory()方法调用中的ConfigurableListableBeanFactory具有方法getBeanDefinition(String),从中可以获取该bean的类名。在这里,您可以执行Class.forName(String)并获取该类,然后可以检查其成员以获取注释。当然这个建议也使用Java Reflection。 您也可以尝试使用自己的自定义注释来注释每个要检查的类。然后,可以从ConfigurableListableBeanFactory调用getBeansWithAnnotation(Class)。这将返回一个从beanName到对应实例的映射。 或者,您可以自己看一下JavaDoc: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/ConfigurableListableBeanFactory.html     

要回复问题请先登录注册