到底什么是“容器管理对象”?在 Java 6 EE 世界中?
我尝试使用 CDI 来执行在 glassfish 上运行的 struts 操作。 但是java依赖注入对此不起作用。它适用于 JSF,但不适用于 struts。 正如我所读到的——容器将依赖项注入到容器管理的 bean(由容器创建的 bean)的任何实例中。
那么,什么是“容器管理bean”?有POJO吗?还是只有jsf back bean、ejb-bean等?
它是如何发生的? Glassfish 有特殊的类加载器要注入吗?
I tried to use CDI for my struts action running on glassfish.
But java dependency injection does not work for it. It works for JSF but not struts.
As I read -- container injects dependencies to any instance of container managed bean (bean created by container).
So, what is "container managed bean"? Any POJO? Or only jsf back bean, ejb-bean and so on?
And how it happens? Glassfish has special class-loader to inject?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我只能将您的 CDI bean 注入托管类中。 Struts 创建自己的实例,因此 Struts bean 不受容器管理。
我不知道Struts是否有一个能够注入CDI bean的插件,但是你可以在JNDI树中查找Bean Manager。
在您的应用程序中,您可以使用以下方法:
对于 getBeans 方法返回的每个 bean,您需要获取 bean 引用
问候
I only can inject your CDI beans in managed classes. Struts creates its own instances, so Struts beans are no container managed.
I don't know if Struts has a plugin able to inject CDI beans, but you can lookup the Bean Manager in JNDI tree.
In your application you can use this:
For each bean returned by getBeans method you need to get the bean reference
Regards