我还没有找到我能理解的 Spring bean 的高级定义。我在 Grails 文档和书籍中经常看到它们被引用,但我认为了解它们是什么会很有帮助。那么什么是Spring bean?如何使用它们?它们与依赖注入有关吗?
原文由 grantmcconnaughey 发布,翻译遵循 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 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
Spring 核心技术 参考文档 描述了 bean 是什么。
根据 Spring IoC 容器和 Bean 简介 部分(其中“IoC”表示“ 控制反转”):
Bean 和范围在 Bean Scopes 部分中描述: