有很多关于@Lazy的例子和文件。也许我没有明白这一点,但为什么要用它呢?实例化bean成本<启动时1毫秒。对bean使用延迟加载可以为您提供一系列新的集成测试。此外,当您的应用程序启动时没有错误并且在第一次调用延迟加载的bean时崩溃可能会相当危险。所以为什么?有没有人有一个好榜样?
答案 0 :(得分:0)
当auto it = v.begin() + 3; // say
it = v.erase(it); // erase and store position
v.insert(it, -3); // insert at that position
带注释的组件依赖于某些正确初始化的基础结构时,延迟初始化可能很有用。因此,例如,如果您有一个组件需要在启动期间下载某些文件,那么用@Lazy
注释它可能很有意义。通过这种方式,它不会尝试下载文件(这需要花费很多时间),因为它暂时不会被使用。
然而,我个人认为使用懒惰的组件通常会导致糟糕的设计。使用前请三思。