gpt4 book ai didi

java - 如何将 CDI @ApplicationScoped bean @Inject 到 @RequestScoped JAX-RS bean 中?

转载 作者:搜寻专家 更新时间:2023-11-01 00:56:54 25 4
gpt4 key购买 nike

我已经将 @ApplicationScoped CDI 注释添加到一个简单的 bean 中:

@ApplicationScoped
public class History {

然后尝试将其@Inject 到 JAX-RS (resteasy) bean 中:

@RequestScoped
@Path("/history")
public class HistoryAPI {

@Inject
private History history;

但是历史仍然是空的。我在 WEB-INF 中有一个 beans.xml 文件。我已经尝试了很多关于这个主题的变体,但是虽然应用服务器(Wildfly)承认它是从 CDI 开始的,但我无法让注入(inject)工作。有什么我想念的吗?谢谢。

预计到达时间:我尝试了一个空的 beans.xml 和几个变体,最新的是:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:weld="http://jboss.org/schema/weld/beans"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd
http://jboss.org/schema/weld/beans http://jboss.org/schema/weld/beans_1_1.xsd">
</beans>

最佳答案

尝试从 HistoryAPI 中删除 @RequestScoped。

wildfly-quickstart projects 中有一个很好的 JAX-RS 示例

我在 WF8 beta1 上试过了,一切都很好地注入(inject)了。

关于java - 如何将 CDI @ApplicationScoped bean @Inject 到 @RequestScoped JAX-RS bean 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20150993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com