7.15. 在注入中使用代理


当 bean 的生命周期相互不同时,代理用于注入。代理是运行时创建的 Bean 的子类,并覆盖 bean 类的所有非私有方法。代理将调用转发到实际 bean 实例。

在本例中,Pay mentProcessor 实例没有直接注入到 Shop。相反,代理会被注入,调用 processPayment() 方法时,代理会查找当前的 PaymentProcessor be an 实例,并对其调用 processPayment() 方法。

示例:Proxy Injection

@ConversationScoped
class PaymentProcessor
{
  public void processPayment(int amount)
  {
    System.out.println("I'm taking $" + amount);
  }
}

@ApplicationScoped
public class Shop
{

  @Inject
  PaymentProcessor paymentProcessor;

  public void buyStuff()
  {
    paymentProcessor.processPayment(100);
  }
}
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat