If the bean you inject into the normal area (@SessionScoped, @RequestScoped, etc.), it will be lazily instantiated. What you get in your bean client is a proxy server that does not point to a specific instance until when you call the method on the proxy server.
As others have already pointed out, @Inject Instance<MyBean> myBeanInstance;it can also be used to create an explicit lazy copy.
source
share