我能否(如果可以,如何?)在EJB模块中使用javax.naming.Context#lookup查找CDI管理的bean?我正在使用GlassFishv3。我想我可以使用@Named,但是CDI托管bean的JNDI名称是什么?我想从非托管POJO中查找它们,所以我不能使用@Inject。 最佳答案 您还可以使用CDI.current()访问BeanManager,这样可以节省您键入的好几行代码。示例取自here使用CDI.current()BeanManagerbm=CDI.current().getBeanManager();
是否可以使用CDI将参数注入(inject)方法调用?预期的行为类似于字段注入(inject)。查找首选生产商并使用该产品。我想做的是:publicvoidfoo(@InjectBarbar){//dostuff}或者这个(语法不那么困惑):publicvoidfoo(){@InjectBarbar;//dostuff}这种语法在这两种情况下都是非法的。有其他选择吗?如果不是-如果可能的话,出于某种原因,这会是个坏主意吗?谢谢编辑-我的要求可能不够明确-我希望能够直接调用该方法,将bar变量的初始化留给容器。JörnHorstmann和Perception的回答表明这是不可能的。
JavaEE6的一大优点是新的依赖注入(inject)框架-带有Weld引用实现的CDI-这促使我们开始以与实现无关的方式在内部迁移到JSR-330,其明确目标是能够拥有一个被卡住的核心jar,然后能够添加额外的jar,提供新的模块来替换核心jar中的功能。我现在正在与Weld一起完成上述工作,坦率地说,幕后的魔法实在是太多了。它要么起作用,要么不起作用,并且默认情况下它不会对发生的事情提供太多帮助,因此您可以调查问题并修复它。我希望有一些开关可以轻松启用以下功能:扫描了哪些类路径条目以及在哪里扫描?结果如何?哪些bean可用于哪个类的注入(inject)?是什么导致给定的bean在以
JavaEE6的一大优点是新的依赖注入(inject)框架-带有Weld引用实现的CDI-这促使我们开始以与实现无关的方式在内部迁移到JSR-330,其明确目标是能够拥有一个被卡住的核心jar,然后能够添加额外的jar,提供新的模块来替换核心jar中的功能。我现在正在与Weld一起完成上述工作,坦率地说,幕后的魔法实在是太多了。它要么起作用,要么不起作用,并且默认情况下它不会对发生的事情提供太多帮助,因此您可以调查问题并修复它。我希望有一些开关可以轻松启用以下功能:扫描了哪些类路径条目以及在哪里扫描?结果如何?哪些bean可用于哪个类的注入(inject)?是什么导致给定的bean在以
我有一个界面定义明确的应用程序。它使用CDI来解析模块,(特别是它使用API接口(interface)上的Instance注入(inject)点来解析模块)并通过接口(interface)将各种数据传回和第四次传递而没有问题。我有意将API和实现分开,并且模块仅从API继承以避免紧密耦合,并且应用程序仅通过运行时依赖关系知道模块,并且通过API完成数据传递。应用程序在没有模块的情况下运行良好,只需将jar放入WEB-INF/lib文件夹并重新启动应用服务器即可添加。我遇到的问题是我希望模块创建View的一部分,因此我想以可移植的方式调用JSF组件,或者按顺序从模块中包含让它呈现它的Vi
我有一个界面定义明确的应用程序。它使用CDI来解析模块,(特别是它使用API接口(interface)上的Instance注入(inject)点来解析模块)并通过接口(interface)将各种数据传回和第四次传递而没有问题。我有意将API和实现分开,并且模块仅从API继承以避免紧密耦合,并且应用程序仅通过运行时依赖关系知道模块,并且通过API完成数据传递。应用程序在没有模块的情况下运行良好,只需将jar放入WEB-INF/lib文件夹并重新启动应用服务器即可添加。我遇到的问题是我希望模块创建View的一部分,因此我想以可移植的方式调用JSF组件,或者按顺序从模块中包含让它呈现它的Vi
Weld,JSR-299上下文和依赖注入(inject)引用实现,认为自己是Spring和Guice的一种继承者。CDIwasinfluencedbyanumberofexistingJavaframeworks,includingSeam,GuiceandSpring.However,CDIhasitsown,verydistinct,character:moretypesafethanSeam,morestatefulandlessXML-centricthanSpring,morewebandenterprise-applicationcapablethanGuice.Butit
Weld,JSR-299上下文和依赖注入(inject)引用实现,认为自己是Spring和Guice的一种继承者。CDIwasinfluencedbyanumberofexistingJavaframeworks,includingSeam,GuiceandSpring.However,CDIhasitsown,verydistinct,character:moretypesafethanSeam,morestatefulandlessXML-centricthanSpring,morewebandenterprise-applicationcapablethanGuice.Butit
我们正在启动一个基于EJB3.0的新项目。我有一个基于“spring”的背景(并且喜欢它),所以对我来说松散耦合和可测试性是一个很大的必须。这篇文章不应该是关于“ejbvs.spring”的。如果您已经有这方面的实际项目经验,那将是完美的。这里有一些示例代码来演示这个问题:客户端->ejb->合作者1->合作者..->合作者n@StatelesspublicclassSampleService{//or@InjectviaCDI//or@AutowiredviaSpring@EJB//orjustuseastatelesssessionbeanviaEJB3.0privateBankb
我们正在启动一个基于EJB3.0的新项目。我有一个基于“spring”的背景(并且喜欢它),所以对我来说松散耦合和可测试性是一个很大的必须。这篇文章不应该是关于“ejbvs.spring”的。如果您已经有这方面的实际项目经验,那将是完美的。这里有一些示例代码来演示这个问题:客户端->ejb->合作者1->合作者..->合作者n@StatelesspublicclassSampleService{//or@InjectviaCDI//or@AutowiredviaSpring@EJB//orjustuseastatelesssessionbeanviaEJB3.0privateBankb