我目前正在基于旧系统制作系统。较旧的系统基本上将模块分为单独的类和Bean。但是,对于新系统,将许多模块压缩到一个Bean中,使其注入了如此多的类,而其他Bean则使其非常缓慢,因为它需要初始化所有注入的Bean和类。
有什么办法可以改善这一点?有没有类似条件注入的东西,我们只在需要时才调用类?
目前,我要记住的是仅在需要时才调用类。例如。当用户想要访问User对象时,仅注入与用户相关的bean和类。与雇主类相关的类和bean将不会被调用。我不确定这是否可行,如果不能,是否有办法通过多次注入来提高性能?
答案 0 :(得分:0)
使用实例界面修复了该问题。代替
@Inject
MyManagedBean myManagedBean
我使用Instance仅在按原样使用时注入类
@Inject
Instance<MyManagedBean> myManagedBean
所以这是做的,每次您要调用该类时,都可以通过.get()(例如myManagedBean.get())进行调用,这将初始化该类。只要不调用.get(),就不会初始化这些类。