@Lazy注解

鲜于俊侠
2023-12-01

@Lazy注解

  1. 当@Lazy 放在类上,表示在启动的时候不会创建bean对象,当使用的时候才会创建
  2. 当@Lazy 放在@Bean注解的方法上,表示在启动的时候不会创建bean对象,当使用的时候才会创建
  3. 当@Lazy 放在@Autowired注解的属性上, 并不会直接给属性赋上真正的值,只是会赋值一个代理对象,当真正使用到这个属性的时候,才回去容器中找到一个符合的对象。在使用的时候,也会先执行代理对象的逻辑,然后再是真正bean对象的逻辑
    使用场景:循环依赖的时候可以在循环依赖的对象加上@Lazy注解
  4. 写在方法或者方法参数前面上,效果和写在属性上是一样的,开始注入的只是代理对象,当真正调用的时候才会调用对应对象的逻辑
  5. 写在构造方法或者构造方法参数前面上,同上
 类似资料: