2011-04-17 58 views
2

是否有可能使BeanFactoryPostProcessor檢測是否豆類有一個自定義的註釋(@注入例如)註解的方法,並繼續進行,如果是這種情況有一定的治療?
如果這是不可能的,你能解釋一下我是如何訪問的豆元數據,並利用它在實現BeanFactoryPostProcessor?
在此先感謝。加工定製註釋

編輯:我碰到這個link,不知道這是否是正確的解決方案雖然,因爲我聽說,使用反射大大降低整體應用性能。

回答

1

傳遞給postProcessBeanFactory()方法調用的ConfigurableListableBeanFactory有一個方法getBeanDefinition(String),可以從中獲取該bean的類名。從這裏你可以做的Class.forName(字符串),並獲得類,然後你可以檢查其成員爲您詮釋。當然這個建議也使用Java Reflection。

您也可以嘗試標註要使用自己的定製標註檢查每個類。從ConfigurableListableBeanFactory你可以調用getBeansWithAnnotation(類)。這將從beanName返回一個映射到相應的實例。

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

+0

感謝您的輸入。 – Mehdi 2011-04-17 20:34:14