2013-04-10 75 views
5

我正在做一些重構和審查我們目前正在開發的應用程序。在這樣做的時候,我發現注入了更多的bean,我認爲讓它們以一種懶惰的方式加載會更適合他們的目的。我正在使用Java EE 6,傾向於使用比EJB注入更多的CDI。Java EE 6 @Inject懶惰?

所以問題是,是否可以懶惰地注入豆類,如果是這樣,你怎麼能做到這一點?

+0

是的,這幾乎回答我的問題 - 這是不可能的。謝謝! – 2013-04-10 08:38:11

回答

13

有關使用

@Inject 
private Instance<?> lazyProvider; 

什麼?

允許獲取「?」的實例當實際需要通過

lazyProvider.get(); 
+0

我必須嘗試一下,聽起來很有希望。我怎麼說我想得到什麼類型? – 2013-04-11 20:27:23

+0

實例是一個泛型類型。所以當你注入一個實例時,get()會返回一個Foo。 – 2013-04-11 21:11:24

+0

好的,我如何注入Foo?我在哪裏決定注入什麼? – 2013-04-17 11:04:03