本文解释了可以将RequestScoped Bean注入ApplicationScoped Bean中,并且客户机代理将在请求期间指向正确的实例:在CDI中,较短范围的Bean实例注入较大范围的Bean实例中-它是如何工作的?
当使用一个单独的生产者类进行额外处理并生成RequestScoped bean时,这是如何工作的?在部署到应用服务器时,由于不明确的依赖关系,我得到一个DeploymentException,因为托管bean和我的producer方法都符合条件。
的确,它起作用了。在这种情况下,CDI impl只是在需要时执行您的@Produces
方法。
您得到了异常,因为CDI按类型搜索bean,并且您有两个相同类型的定义。因此,如果您已经用@products
声明了bean,那么就不能让CDI在类路径上拥有完全相同的bean定义。
以下示例无效:
@ApplicationScoped
public class SomeFactory {
@Produces
public SomeBean produceSome() {
return new SomeBean();
}
}
@RequestScoped // bug, redundant definition
public class SomeBean {
}
另外,详细信息还取决于bean发现模式的实际值。
你也可以看看这个例子,然后回答。
就我个人而言,我不喜欢自动发现和类路径扫描——但是这个概念是CDI和JavaEE的基础。这就是我通常不推荐人们JavaEE服务器的原因之一。
有人能解释一下CDI范围注释在生产者中的作用吗?他们似乎什么也做不了。 这些,自然地,在启动时给出了这个(省略的)错误。 WELD-001409:类型的依赖关系不明确。可能的依赖关系: 带有限定符[@Any@Default]的生产者方法[Thing]声明为[[BackedAnnotatedMethod]@生成公共pkg。测验东西制作人。thingMaker(), 因此,尽管“RequestScop
我有一个spring AOP方面类,它在每次调用服务时都会记录日志,我计划在日志中打印更多信息,这次每个请求都会有唯一的标识符,该标识符存储在请求范围的对象中,直到服务返回。我尝试将请求对象注入到@方面,但似乎效果不佳。 如果只有一个建议,它在我调用该服务时起作用,如果我添加更多建议,它会出错。(问题结束) 日志错误
我已经看了很多帖子,似乎没有什么能像我喜欢的那样工作。 我想将一个对象从一个过滤器注入到ContainerRequestContext属性中,然后在其他类中检索它。 这是我的过滤器: 下面是我想要访问ContainerRequestContext的类: 我的spring配置: 如果我将容器请求上下文注入到我的 Web 资源中,一切都按预期工作。但是,如果调用我的提供程序类容器请求上下文始终为空。
问题内容: 我正在尝试在Spring中建立一个请求范围的bean。 我已经成功设置好了,所以每个请求创建一次bean。现在,它需要访问HttpServletRequest对象。 由于该bean是每个请求创建一次的,所以我认为容器可以轻松地将请求对象注入到我的bean中。我怎样才能做到这一点 ? 问题答案: 可以将请求范围的Bean与请求对象自动连接。
我试图用jsf和CDI编写一个简单的登录表单。问题是当我注入我的SessionScoped bean时,它不像我期望的那样工作。这是我的豆子 这是我的控制器: 还有一个简单的Jsf表单,它调用login函数并显示LoginInfo类的计数器字段。 通过单击登录按钮和调试变量,我可以看到“lo”是这样的: lo={LoginInfo$Proxy$_$$_WeldClientProxy@16688}“
问题内容: 我正在制作一个要使用范围滑块的网站(我知道它仅支持Webkit浏览器)。 我已经将其完全集成并且可以正常工作。但我想使用a 来显示当前的幻灯片值。 我的意思是,如果最初滑块的值为5,那么在文本框中它应显示为5,当我滑动文本框时,其值应更改。 我可以仅使用还是使用。我想避免。可能吗? 问题答案: 这使用javascript,而不直接使用jquery。它可能有助于您入门。