替换托管 Bean

发布于 2024-12-25 14:21:25 字数 123 浏览 1 评论 0原文

关于使用 CDI 设置托管 bean 的几个问题。 1. 如果使用@Inject注解将一个会话Bean注入到另一个会话Bean中,如何替换整个会话Bean? 2.在CDI中,是否可以将Injection定义为仅注入(而不是输出)。

Couple of questions on setting managed bean using CDI.
1. If a session bean is Injected into another using @Inject annotation, how to replace the entire session Bean?
2. In CDI, Is it possible to define Injection to only inject (not to outject).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一片旧的回忆 2025-01-01 14:21:25

如果使用@Inject注解将一个会话Bean注入到另一个会话Bean中,如何替换整个会话Bean?

你不知道。这个要求只意味着一件事:会话范围对于相关 bean 来说是错误的范围。也许您正在寻找对话范围反而。

如果确实需要,您始终可以添加一些 clear() 方法来清除会话作用域 bean 的状态(从而清除其所有属性),但这仍然很可疑。只需从一开始就选择正确的范围。

If a session bean is Injected into another using @Inject annotation, how to replace the entire session Bean?

You don't. This requirement can mean only 1 thing: the session scope is the wrong scope for the bean in question. Perhaps you're looking for the conversation scope instead.

If you really need to, you can always add some clear() method which clears the state (thus, all of its properties) of the session scoped bean, but this is still fishy. Just choose the right scope from the beginning on.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文