0
注入豆類prototype
與@Autowired
通常無法按預期工作。但是在編寫代碼時,意外插入原型很容易。有沒有辦法通過@Autowired注入所有具有範圍原型的bean?
有沒有辦法獲得所有@Autowired
字段和方法的列表,並將其與Spring AppContext進行匹配以檢查它?
注入豆類prototype
與@Autowired
通常無法按預期工作。但是在編寫代碼時,意外插入原型很容易。有沒有辦法通過@Autowired注入所有具有範圍原型的bean?
有沒有辦法獲得所有@Autowired
字段和方法的列表,並將其與Spring AppContext進行匹配以檢查它?
一種方法可以是覆蓋org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
(負責處理@Autowired,@Inject,@Resource等)並執行您在此重寫的豆後期處理器中提到的檢查。但是,AutowiredAnnotationBeanPostProcessor通過一些常用的自定義命名空間(context:component-scan
,context:annotation-config
等)進行了註冊,因此這些自定義註釋將不得不被替換爲相應的bean
變體,並且被覆蓋的後處理器也被註冊爲bean。
聽起來像一個很好的計劃:-)看着源代碼,我將不得不復制一半的代碼,因爲它沒有給我一個掛鉤到bean查找的好地方:-( –