当前位置: 首页 > 知识库问答 >
问题:

我如何懒洋洋地注册Spring“bean定义”以提高启动时间?

百里默
2023-03-14

在我看来,这需要一种新类型的Spring ApplicationContext,它支持“热”刷新,但只是为了添加新的bean定义。先前存在的bean定义不会被移除/重新加载,也不会在随后的refresh()调用中由BeanFactoryPostProcessors重新处理,并且先前存在的单例不会被销毁!

这已经存在了吗?。有没有我忽略的更好的解决方案?

共有1个答案

危阳
2023-03-14

这听起来像是在寻找@lazy

4.4.4惰性初始化bean

惰性初始化的bean告诉IoC容器在第一次请求时创建bean实例,而不是在启动时创建。

 类似资料:
  • 我是Spring框架的新手,我知道Spring在启动时会实例化单例bean的默认行为,称为热切实例化。这是一个很好的行为,因为它只在启动时暴露bean实例化中的任何问题。但有时这种行为是不可预料的,因此通过向bean定义中添加lazy init=“true”,可以将实例化推迟到第一个请求。 所以,我想知道我们可以使用什么样的场景来延迟实例化bean?。请举例说明。

  • 在Spring中,可以将bean配置为懒洋洋地初始化。Spring批处理作业也是(Spring管理的)bean。也就是说,当我配置类似于

  • 我想在服务类和当前实现中的两个功能如下: > 获取父级时“children”应为null 获取父级时应填写“children”:

  • 我正在寻找一种方法来检索替代单声道,以防原始单声道是空的。我找到的最接近的是,但我的问题是,我无法将lambda表达式传递给它,因此即使Mono具有非空值,也会调用它。这有点像vs。 以下是一个示例:

  • 我尝试用java-hibernate-spring实现一个服务器REST,它返回一个JSON。 我有一个多对多关系图。 我解释得更好,我有一个供应商,有一个配料列表,每种配料都有一个供应商列表。 我创建了这个表: 然后我有配料模型: 然后我有供应商模型: 服务 供应对象 和IdAbstractObject “无法写入JSON:未能懒洋洋地初始化Role:myPackage.Comprigue.Co

  • 海洋是3D地球表面表示海洋的特定区域,在Gio地球表面,海洋是最暗的区域。海洋的默认亮度是0.5。 可以通过 configure() API来设置海洋的亮度,具体设置方式如下所示: controller.configure({         brightness: {                 ocean:0.8         } }); 也可以通过 adjustOceanBrightn