美文网首页
Sping中bean的延迟加载

Sping中bean的延迟加载

作者: AlanSun2 | 来源:发表于2019-05-13 17:39 被阅读0次

Srping中的延迟加载使用@Lazy注解或把<bean/>中的lazy-init属性设置为true就可以了。
之前只了解这么多,今天使用demo测试了一下,和想象还是有点出路,做下记录。

首先@Lazy可以注释在类似@Component组件上,例如:

@Lazy
@Component
public class MyJavaBean  {
    private String desc;
    private String remark;
}

还可以注解在@Bean@Configuration

  • 注解在@Configuration上,表示该类下面所有的bean都会延迟加载,如果想要排除其中某一个bean的延迟加载可以使用@Bean(false)来去除。
  • 注解在@Bean上表示该bean延迟加载。
@Lazy
@Configuration
public class MyConfig {

    @Lazy(false)//非延迟加载
    @Bean(initMethod = "initMethod", destroyMethod = "destroy1")
    public MyJavaBean myJavaBean() {
        MyJavaBean myJavaBean = new MyJavaBean();
        myJavaBean.setDesc("原始的描述信息");
        myJavaBean.setRemark("原始的备注信息");
        return myJavaBean;
    }

    @Bean //延迟加载
    public HhahaExample hhahaExample() {
        return new HhahaExample(myJavaBean());
    }
}

请注意,如果一个类(A)使用了延迟加载,而另一个类(B)需要注入A,这时候A的延迟加载是不起作用的,Spring会立马实例化A。那么这种情况下如果使用延迟加载呢,只要在依赖注入点上也加上@Lazy就可以了,表示该依赖延迟注入,比如:

@Lazy //这里使用上面提到的第一种方法
@Component
public A {
 
}
public B {
  @Lazy
  @Autowried
  private A a;
}

这时候的A才是延迟加载的。

相关文章

  • Sping中bean的延迟加载

    Srping中的延迟加载使用@Lazy注解或把 中的lazy-init属性设置为true就可以了。之前只了解这么多...

  • 粗略梳理sping bean的加载流程

    基于XMLBeanFactory的getBean流程,只是一个大致流程。初始化策略、填充属性、各种后置处理器做了些...

  • BeanFactroy

    1).BeanFactroy采用的是延迟加载形式来注入Bean的,即只有在使用到某个Bean时(调用getBean...

  • BeanFactroy

    1).BeanFactroy采用的是延迟加载形式来注入Bean的,即只有在使用到某个Bean时(调用getBean...

  • Spring IoC容器之延迟加载、自动装配和方法注入

    一、延迟加载 默认情况下ApplicationContext会在实例化过程中创建和配置所有的单例bean。这样可以...

  • SpringStudy之Bean(1)

    一,Bean注入 在Sping中Bean注入有两种,Set注入和构造注入。两种注入方式都需要传入class的完整路...

  • 深入理解js

    延迟加载 (Lazyload) 三种实现方式 延迟加载也称为惰性加载,即在长网页中延迟加载图像。用户滚动到它们之前...

  • js 实现图片懒加载

    一、懒加载 懒加载也叫延迟加载,Js中图片的延迟加载,延迟图片需要符合某些条件时才加载;对于图片过多的页面,为了加...

  • Spring源码分析---单例的加载获取

    前面一篇文章中讲解了从缓存中加载bean,如果缓存中不存在已经加载的单例bean,就需要实现bean的加载过程。 ...

  • Spring Bean加载

    Spring Bean加载 Spring Bean加载的入口: 可以看到Spring Bean加载主要在doGet...

网友评论

      本文标题:Sping中bean的延迟加载

      本文链接:https://www.haomeiwen.com/subject/ansraqtx.html