返回顶部
首页 > 资讯 > 精选 >详解Spring 中如何控制2个bean中的初始化顺序
  • 862
分享到

详解Spring 中如何控制2个bean中的初始化顺序

springbeanbea 2023-05-31 00:05:36 862人浏览 薄情痞子
摘要

开发过程中有这样一个场景,2个 bean 初始化逻辑中有依赖关系,需要控制二者的初始化顺序。实现方式可以有多种,本文结合目前对 spring 的理解,尝试列出几种思路。场景假设A,B两个 bean 都需要在初始化的时候从本地磁盘读取文件,其

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

场景

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

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

@Servicepublic 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");  }}@Servicepublic 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");  }}

--结束END--

本文标题: 详解Spring 中如何控制2个bean中的初始化顺序

本文链接: https://lsjlt.com/news/222523.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Spring 中如何控制2个bean中的初始化顺序
    开发过程中有这样一个场景,2个 bean 初始化逻辑中有依赖关系,需要控制二者的初始化顺序。实现方式可以有多种,本文结合目前对 Spring 的理解,尝试列出几种思路。场景假设A,B两个 bean 都需要在初始化的时候从本地磁盘读取文件,其...
    99+
    2023-05-31
    spring bean bea
  • Spring Bean是如何初始化的详解
    目录前言三级缓存doGetBeancreateBeandoCreateBeaninstantiateBeaninstantiateinstantiateClass注入Autowire...
    99+
    2024-04-02
  • Android中多个ContentProvider的初始化顺序详解
    目录缘起:1. 利用 ContentProvider 初始化 Library:2. 自定义 ContentProvider 初始化顺序:总结缘起: 利用 ContentProvide...
    99+
    2024-04-02
  • 一文详解Spring如何控制Bean注入的顺序
    目录简介构造方法依赖(推荐)@DependsOn(不推荐)BeanPostProcessor(不推荐)简介 说明 本文介绍Spring如何控制Bean注入的顺序。 首先需要说明的是:...
    99+
    2024-04-02
  • SpringBoot中的Bean的初始化与销毁顺序解析
    我今天学习到SpringBoot里面自定义Bean的初始化与销毁方法 我先总结一下我学到的四种方法: 方法一: 指定init-method 和 destory-method 方法二:...
    99+
    2024-04-02
  • JavaWeb中web.xml初始化加载顺序详解
    需求说明做项目时,为了省事,起初把初始化的配置都放在每个类中 static加载,初始化配置一多,就想把它给整理一下,这里使用servlet中的init方法初始化。web.xml说明首先了解下web.xml中元素的加载顺序: 启动web项目...
    99+
    2023-05-31
    web.xml 加载顺序 ava
  • Spring中Bean的加载与SpringBoot的初始化流程详解
    目录前言第一章 Spring中Bean的一些简单概念1.1 SpingIOC简介1.2 BeanFactory1.2.1 BeanDefinition1.2.2 BeanDefini...
    99+
    2024-04-02
  • Android中多个ContentProvider的初始化顺序是什么
    这篇“Android中多个ContentProvider的初始化顺序是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“An...
    99+
    2023-06-30
  • 详解bash中的初始化机制
    Bash初始化文件 交互式login shell 在下列情况下,我们可以获得一个login shell: uFJHrKxWJu 登录系统时获得的顶层shell,无论是通过本地终端登录,还是通过网络ssh登录。这种情...
    99+
    2022-06-04
    bash 初始化 bash 初始化机制
  • Java项目中如何使用对象初始化顺序
    Java项目中如何使用对象初始化顺序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、 代码块的概念在探究对象初始化顺序之前,我们先通过代码来了解一下代码块的概念。class ...
    99+
    2023-05-31
    java 对象 初始化顺序
  • JDK8中的HashMap初始化和扩容机制详解
    一、HashMap初始化方法 HashMap() 不带参数,默认初始化大小为16,加载因子为0.75; HashMap(int initialCapacity) 指定初始化大小; H...
    99+
    2024-04-02
  • 微信小程序中控制器的初始化逻辑是什么
    微信小程序中控制器的初始化逻辑是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面介绍微信小程序的控制器index.js的实现, 即MVC设计理念的C-Controller...
    99+
    2023-06-05
  • 详解Spring中singleton bean如何同时服务多个请求
    目录正文先讲一下Spring容器稍微谈谈 Java 中的内存分配正文 当我开始学习 Spring 时,两个“难”的问题主要在我脑海中盘旋: 如何创建单例 b...
    99+
    2023-02-07
    Spring singleton bean多个请求 Spring singleton bean
  • C++11中列表初始化机制的概念与实例详解
    目录概述 实现机制详解 POD类型的列表初始化 含有构造函数的类的列表初始化(C++11) 列表初始化用于函数返回值 引入std::initializer_list 代码验证 应用 ...
    99+
    2024-04-02
  • 如何解决JS中变量的声明,举起与初始化的问题
    这篇文章主要讲解了“如何解决JS中变量的声明,举起与初始化的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决JS中变量的声明,举起与初始化的问题”...
    99+
    2024-04-02
  • 如何解决win10开始菜单中控制面板消失的问题
    这篇文章主要介绍了如何解决win10开始菜单中控制面板消失的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在电脑任务栏空白处右键,点击打开“属性(R)”项。在打开的菜单属...
    99+
    2023-06-28
  • Java11中如何解决基于嵌套关系的访问控制优化问题
    这篇文章主要为大家展示了Java11中如何解决基于嵌套关系的访问控制优化问题,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Java11中如何解决基于嵌套关系的访问控制优化问题”这篇文章吧。Java...
    99+
    2023-06-26
  • Java中的日志记录和Git版本控制:如何优化应用程序的可维护性?
    在Java应用程序的开发过程中,日志记录和版本控制是两个非常重要的方面。这两个方面的优化可以显著提高应用程序的可维护性,从而使其更加稳定和可靠。 在本文中,我们将讨论如何使用Java中的日志记录和Git版本控制来优化应用程序的可维护性。我...
    99+
    2023-07-21
    日志 响应 git
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作