2012-10-02 66 views
2

我玩CDI生產者和DOC發現該CDI時injectionpoint.getBean()可以爲空

InjectionPoint.getBean() 

可以返回null如果注射點不屬於一個bean。 它的有效含義是什麼?注射點如何不屬於一個豆?是否有可能將某些東西注入其他不是CDI bean的東西?

我想獲得包含此注入點的類的類名,現在我不知道如果我可以依賴getBean()方法,如果它可以返回null?

回答

2

機會非常好(AFAIK)如果您通過擴展手動創建了注入點,您只會看到null。

+0

是否有任何理由這樣做?我的意思是手動創建InjectionPoint?目前我無法彌補任何場景 – grafthez

+1

與其他一些框架集成,字節碼操作,也許如果你不知道啓動時的確切類(可能有一些代理或類似的代理)。用途不是很大,這是肯定的。 – LightGuard

+0

getBean()返回null時的另一個場景:http://stackoverflow.com/q/34643780/5300071 –