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

其中Spring容器将创建所有运行时对象

司马弘益
2023-03-14

根据Spring留档,Spring IOC容器管理bean的整个生命周期。

我的问题是Spring容器将在哪里创建新对象?在JVM中还是在哪里?以及如何维护对象的引用。

还有下面的问题,

  1. 对于将在何处创建这些bean的独立应用程序
  2. 对于WebApplication,这些bean将在哪里创建

我已经阅读了Spring doc的主要内容,但还没有找到任何关于如何维护对象引用的清晰想法。

共有1个答案

仇正豪
2023-03-14

由于Spring Boot应用程序在JVM中运行,因此对象也在JVM中创建。

Spring在应用程序上下文中保留对bean的引用。ApplicationContext接口有几个具体的实现(取决于应用程序的类型),但最终它归结为一堆哈希图,其中包含bean实例或关于如何创建它们的信息、bean类型等。如果您对实现细节感兴趣,最相关的类是IMO org。springframework。豆。工厂支持DefaultListableBeanFactory。所有应用程序上下文实现都使用它来注册bean、解析bean等。

 类似资料:
  • 主要内容:1.this(),2.register(),3.refresh() 12大步Spring启动过程之容器对象的创建 1.this() 2.注册配置类 3.refresh() Spring会将所有交由Spring管理的类,扫描其class文件,将其解析成BeanDefinition,在BeanDefinition中会描述类的信息,例如:这个类是否是单例的,Bean的类型,是否是懒加载,依赖哪些类,自动装配的模型。Spring创建对象时,就是根据BeanDefinition中的

  • OpenStack对象存储是一个分布式的对象存储平台,支持API调用。该功能可以直接结合进其他应用中,也可以用来存储各种文件,包括虚拟机镜像、备份、归档、甚至是媒体文件。在OpenStack控制台,用户暂时只能管理容器和镜像。 在OpenStack对象存储中,容器是存放对象文件的空间,就像Windows或者Linux的文件夹是存放文件的空间一样。只是容器和容器不能像文件夹一样嵌套。OpenStac

  • 作为大多数Spring Boot新用户,我对@Autow的问题:D 我已经在这里阅读了大量有关此注释的主题,但仍然无法找到解决问题的正确方法。 假设我们有这个Spring Boot层次结构: 类,我们希望在每次调用时实例化它: Out get controller,它会在每个请求中创建新的SomeRepo对象: 最后,使用@Autowired创建TestWire实例的类: 假设我们多次向“/”发出

  • 目的是从命令行执行gatling perf测试。等效docker命令是 现在,为了映射上面使用kubectl在库伯内特斯运行的docker,我创建了一个pod,下面是gradlewcommand.yaml文件 现在,使用以下命令创建容器:- 现在是我的实际要求或问题,我如何运行或触发kubectl run命令,以便在上面创建的pod中运行容器?,请注意,您的 pod 名称是 gradlecomma

  • 容器运行时(Container Runtime)是Kubernetes最重要的组件之一,负责真正管理镜像和容器的生命周期。Kubelet通过Container Runtime Interface (CRI)与容器运行时交互,以管理镜像和容器。 CRI Container Runtime Interface (CRI)是Kubelet 1.5/1.6中主要负责的一块项目,它重新定义了Kubelet