2012-10-02 17 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 –