请求作用域组件是否默认懒加载?何时实例化?是否需加@Lazy?
RequestScope组件实例化时机与@Lazy的必要性
实例化时机
- 这个
RequestDataHolder只会在当前请求周期内第一次被使用时才会实例化。 - 具体来说:当其他Bean依赖注入它,或者你主动通过Spring上下文获取它的时候,Spring才会在当前请求的范围内创建这个组件的实例,同时执行构造方法里的耗时操作。请求作用域的Bean不会在项目启动时提前初始化。
@Lazy注解要不要加
- 完全没必要加。
- 请求作用域的Bean本身就是“懒加载”的逻辑:只有被实际用到的时候才会创建实例,天然满足你“不需要数据时跳过耗时操作”的需求。加@Lazy属于画蛇添足,不会有额外作用。
内容的提问来源于stack exchange,提问作者Toni
相关产品推荐
相关产品推荐

