7.14. Bean 代理


注入 Bean 的客户端通常不包含对 bean 实例的直接引用。除非 bean 是一个依赖对象,范围为 @Dependent,否则容器必须使用代理对象重定向所有注入的 Bean 引用。

bean 代理(可称为客户端代理)负责确保接收方法调用的 bean 实例是与当前上下文关联的实例。客户端代理还允许 Bean 绑定到上下文(如会话上下文),从而无需递归地将其他注入的 Bean 序列化到磁盘。

由于 Java 的限制,容器无法代理一些 Java 类型。如果使用其中一个类型声明的注入点解析为具有 @Dependent 范围以外的 Bean,容器将中止部署。

某些 Java 类型不能由容器代理。包括:

  • 无参数的非专用构造器的类.
  • 被声明为 最终 或具有 最终 方法的类.
  • 数组和原语类型.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat