【发布时间】:2016-03-01 08:04:31
【问题描述】:
仅关于 CDI bean 的问题,而不是 EJB。
开发需要将 bean 从父模块注入到子模块的架构是一种好习惯吗?
例如我有三个模块:
- common - 这里我需要使用一些环境设置,但 common 不知道它将在哪个环境中执行,客户端或服务器(在我的情况下它被打包为ear/lib 目录中的一个 lib,由 java se 客户端单独测试);
- client - 在这里我可以提供属性文件的设置,例如(出于测试目的,它没有打包在 ear 中)
- 服务器 - 在这里我可以提供来自 ejb 配置文件的设置(它是一个与 common 相同的 ejb 模块)。
所以 client 依赖于 common 而 server 依赖于 common (它们从 common 扩展和使用类)但注射方向相反。所以@Inject注入点存在于common模块中,而producer方法存在于client和server中。
除了哲学方面,我还有一个真正的问题。我可以进一步将 bean 从 ejb.jar 注入到 ear/lib/*.jar 还是由于类路径问题而无法实现?
问候
【问题讨论】:
-
介意用mcve更新您的帖子吗?
-
这是一个最小而完整的问题
-
确实,只是关于“...注入反向...”。您是否共同从服务器/客户端注入组件?这就是示例的需要。
-
oo,我明白了,提供了问题正文中的信息,谢谢
标签: jakarta-ee cdi