gpt4 book ai didi

java - 处理自定义注释

转载 作者:行者123 更新时间:2023-11-30 11:54:28 24 4
gpt4 key购买 nike

是否可以制作BeanFactoryPostProcessor检测 beans 类是否具有使用自定义注解(例如 @inject)进行注解的方法,如果是这样,则继续进行某种处理?
如果这不可能,您能解释一下我如何访问 beans 元数据并在 BeanFactoryPostProcessor 中利用它吗?
提前致谢。

编辑: 我遇到了这个 link ,但不确定它是否是正确的解决方案,因为我听说使用反射会大大降低应用程序的整体性能。

最佳答案

传递给 postProcessBeanFactory() 方法调用的 ConfigurableListableBeanFactory 有一个方法 getBeanDefinition(String),您可以从中获取该 bean 的类名。从这里您可以执行 Class.forName(String) 并获取类,然后您可以检查其成员的注释。当然,这个建议也使用 Java 反射。

您还可以尝试使用自己的自定义注释来注释您要检查的每个类。然后您可以从 ConfigurableListableBeanFactory 调用 getBeansWithAnnotation(Class)。这会返回一个从 beanName 到相应实例的映射。

或者你可以自己看看JavaDoc: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/ConfigurableListableBeanFactory.html

关于java - 处理自定义注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com