详解Spring中如何控制2个bean中的初始化顺序-创新互联

开发过程中有这样一个场景,2个 bean 初始化逻辑中有依赖关系,需要控制二者的初始化顺序。实现方式可以有多种,本文结合目前对 Spring 的理解,尝试列出几种思路。

创新互联建站从2013年开始,是专业互联网技术服务公司,拥有项目网站设计制作、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元普安做网站,已为上家服务,为普安各地企业和个人服务,联系电话:18980820575

场景

假设A,B两个 bean 都需要在初始化的时候从本地磁盘读取文件,其中B加载的文件,依赖A中加载的全局配置文件中配置的路径,所以需要A先于B初始化,此外A中的配置改变后也需要触发B的重新加载逻辑,所以A,B需要注入彼此。

对于下面的模型,问题简化为:我们需要initA()先于initB()得到执行。

@Service
public class A {
  @Autowired
  private B b;

  public A() {
    System.out.println("A construct");
  }

  @PostConstruct
  public void init() {
    initA();
  }

  private void initA() {
    System.out.println("A init");
  }
}

@Service
public class B {
  @Autowired
  private A a;

  public B() {
    System.out.println("B construct");
  }

  @PostConstruct
  public void init() {
    initB();
  }

  private void initB(){
    System.out.println("B init");
  }
}


当前名称:详解Spring中如何控制2个bean中的初始化顺序-创新互联
文章出自:http://bzwzjz.com/article/cdcddd.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 高端网站设计 广安网站设计 成都网站制作 成都网站建设 成都网站建设公司 重庆外贸网站建设 手机网站制作设计 成都网站建设公司 网站建设方案 定制网站建设 成都模版网站建设 成都网站设计 LED网站设计方案 营销网站建设 成都品牌网站设计 定制级高端网站建设 成都网站建设 成都企业网站建设公司 成都h5网站建设 高端网站设计推广 重庆手机网站建设 网站建设公司