春豆到底是什么?

新手上路,请多包涵

我还没有找到我能理解的 Spring bean 的高级定义。我在 Grails 文档和书籍中经常看到它们被引用,但我认为了解它们是什么会很有帮助。那么什么是Spring bean?如何使用它们?它们与依赖注入有关吗?

原文由 grantmcconnaughey 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 644
2 个回答

Spring 核心技术 参考文档 描述了 bean 是什么。

根据 Spring IoC 容器和 Bean 简介 部分(其中“IoC”表示“ 控制反转”):

在 Spring 中,构成应用程序主干并由 Spring IoC 容器管理的对象称为 bean。 bean 是由 Spring IoC 容器实例化、组装和管理的对象。否则,bean 只是应用程序中的众多对象之一。 Bean 以及它们之间的依赖关系反映在容器使用的配置元数据中。

Bean 和范围在 Bean Scopes 部分中描述:

当您创建一个 bean 定义时,您创建了一个用于创建由该 bean 定义定义的类的实际实例的方法。 bean 定义是一个配方的想法很重要,因为这意味着,与一个类一样,您可以从一个配方创建许多对象实例。

您不仅可以控制要插入到从特定 bean 定义创建的对象中的各种依赖项和配置值,还可以控制从特定 bean 定义创建的对象的范围。这种方法功能强大且灵活,因为您可以通过配置选择您创建的对象的范围,而不必在 Java 类级别烘焙对象的范围。可以将 Bean 定义为部署在多个范围之一中。

原文由 Juned Ahsan 发布,翻译遵循 CC BY-SA 4.0 许可协议

Spring bean 只是由 Spring 容器管理的实例对象,也就是说,它们由框架创建和连接,然后放入“对象包”(容器)中,稍后您可以从中获取它们。

“连接”部分就是依赖注入的全部内容,这意味着您只需说“我需要这个东西”,框架就会遵循一些规则为您提供正确的实例。

对于不习惯 Spring 的人,我认为 Wikipedia Spring 的文章有一个很好的描述

Spring 框架的核心是它的控制容器反转,它提供了一种使用反射配置和管理 Java 对象的一致方法。容器负责管理特定对象的对象生命周期:创建这些对象,调用它们的初始化方法,并通过将它们连接在一起来配置这些对象。

容器创建的对象也称为 托管对象beans 。可以通过加载 XML 文件或检测配置类上的特定 Java 注释来配置容器。这些数据源包含提供创建 bean 所需信息的 bean 定义。

可以通过 依赖查找依赖注入 的方式获取对象。 依赖查找 是一种模式,调用者向容器对象询问具有特定名称或特定类型的对象。 依赖注入 是一种模式,其中容器通过构造函数、属性或工厂方法按名称将对象传递给其他对象。

原文由 Elias Dorneles 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题