问题标签 [hk2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - HK2 是否支持 FieldInterceptor?
我一直在挖掘,看起来它不支持在字段上执行 AOP。我已经查看了此处的示例,但 InterceptionService 似乎不支持 FieldInterceptor。我正在寻找使用自定义字段注释进行一些简单的 bean 验证。
dependency-injection - 使用 HK2 的原始类型的依赖注入(在运行时决定)
所以基本上,我有一种情况,我想将原始类型注入一个类(即一个字符串和一个整数)。您可以将应用程序的 URL 和端口号视为示例输入。我有三个组件:
现在说我有一堂课,它确实接受了这些参数:
所以我的问题很简单。我如何注入a
和b
上课PrimitiveParamsDIExample
?
一般来说,这也是在询问如何注入在运行时决定的参数。如果我在上面有 a 和 b,从 STDIN 或输入文件中读取,它们显然会因运行而不同。
更何况,我如何在 HK2 框架内完成上述工作?
编辑[02/23/15]:@jwells131313,我尝试了您的想法,但出现以下错误(此错误用于 String 参数;类似的错误用于 int):
我完全按照您在答案中所做的设置课程。我还覆盖了toString()
打印变量a
和b
in的方法PrimitiveParamsDIExample
。然后,我在我的 Hk2Module 类中添加了以下内容:
所以现在,我创建了一个测试类,如下所示:
其中,Hk2Setup 如下:
所以在某个地方,我的接线搞砸了,我得到了一个 UnsatisfiedDependencyException。我没有正确连接什么?
谢谢!
java - hk2 Tomcat上的依赖注入
我正在努力为我的小 Web 应用程序获得某种 (c)di 工作。我放弃了使用 Weld,现在我正在尝试 hk2(它已经被 jersey 2 使用)。这是我的服务,它试图注入一些东西:
我不确定是否@ManagedBean
有必要。问题是:
所以注入根本不起作用。我按照此处的描述设置了 DI (请参阅接受的答案)。在我的情况下,活页夹看起来像这样:
我想我不需要 ExcelReport 的绑定,因为它有一个注入数据的构造函数——对吗?但这两种方式都行不通。
我的“主要”是这个
和 web.xml:
那么如何正确设置 DI(我的第三次尝试将是 Guice)。
更新 我也不确定所需的依赖项。目前我包括了这个(根据提示更新):
java - 带有内置注入的 Jersey 自定义方法参数注入
您好,我正在使用 dropwizard 构建一个应用程序,它在内部使用 jersey 2.16 作为 REST API 框架。
对于所有资源方法的整个应用程序,我需要一些信息,以便解析这些信息,我定义了一个自定义过滤器,如下所示
租户工厂定义如下
我实际上并没有实现该方法,但结构在上面。还有一个 TenantparamResolver
现在在我的资源方法中,我正在做如下
这是我配置应用程序的方式
问题是在应用程序启动期间我收到以下错误
并且有很长的堆栈错误堆栈和描述
下面是用户pojo的声明签名
公共类用户扩展 com.company.models.Model {
用户类上没有注释。Model 是一个类,它只定义了 long 类型的单个属性 id,并且在模型类上也没有注释
当我从上面的创建资源方法中删除 User 参数时,它工作正常,当我删除 TenantParam 时,它也工作正常。仅当我同时使用 User 和 TenantParam 时才会出现此问题
- 我在这里想念什么?如何解决此错误?
已编辑
我刚刚尝试了两个自定义方法参数注入,这也不起作用
- 我在这里想念什么?这是对球衣的限制吗?
java - HK2 IterableProvider 命名方法未找到实现
我在尝试注入绑定了两个服务的合同时遇到问题。
我正在使用 Jersey,并扩展ResourceConfig
配置我的应用程序,我将两个不同的实现(类FooImpl1
和FooImpl2
)绑定到同一个合同(接口Foo
),对它们进行不同的排名。这些实现中的每一个都带有注释@Named
及其名称。
在我的一个控制器中,我想访问这两种实现,所以我注入了一个IterableProvider<Foo> fooProvider
.
如果我不指定任何内容,则始终注入最高级别的实现,这就是我想要的。
当我想要一个具体的实现时,问题就出现了,其中之一。当我调用时fooProvider.named( nameOfTheClass ).get()
,返回 null,但如果我遍历 fooProvider,我可以访问这两个实现,因此它们被注入。
有人知道我会错过什么吗?
非常感谢你的帮助。
java - 在 Jersey2 中使用 @Immediate 注释
我有一个与这里提出的问题类似的问题:如何让我的 Jersey 2 端点在启动时急切地初始化?
但稍微往下走。我可以立即加载我的资源,但是当我尝试通过调用 REST url 来使用它时,我得到以下堆栈跟踪。
我的 TResource 类是这样注释的:
我的基于 Grizzly 的服务器设置如下:
任何指导将不胜感激!干杯,菲尔
spring - 无法使用 spring-bridge 和 hk2 注入 @Value
我有一个球衣资源,我试图将一个简单的@Value 注入其中,但它正在抛出一个 org.glassfish.hk2.api.UnsatisfiedDependencyException。这适用于其他不是资源的类,只是由 spring 框架管理。似乎 HK2 不支持从 spring 中桥接 @Value 注入。我正在使用spring-bridge,它对于@Value注入以外的其他代码部分一直运行良好。为了更好地解释,当我从 setMaxTimeoutMillis 的设置器中删除 @Inject 并且基于构造函数的注入工作时,我的代码工作正常。hk2在使用spring-bridge时是否支持@Value注入?
jersey - Unit testing views in dropwizard (sequel)
As mentioned in a related post I am trying to test my resources in Dropwizard. The resources can both return json data and views. The latter work with freemarker templates. For testing paths which return views I extended the code of the dropwizard manual to also add a provider:
The result however is the following lengthy error message:
java - 让 Jersey 1.x 和 2.x 共存
我有一个 Dropwizard 项目(使用 Jersey 2.x),我需要使用另一个依赖于 1.x 的 jersey-client 的库,我在让两者在类路径上共存时遇到了一些麻烦。看起来正在发生的事情是 HK2 正在从 javax.ws.rs.* 中找到任何实现提供程序的东西并尝试实例化它们。当它是 Jersey 1.x 中的一个类时,它需要的依赖注入不存在,我最终会遇到很多错误,例如:
有没有办法让 Jersey 2.x/HK2 忽略 com.sun.jersey.* 包空间中的任何内容?
jersey - 如何使用 hk2 注入自定义工厂?
我很难使用球衣测试框架。
我有一个根资源。
我准备了一家提供path
.
还有一个活页夹。
最后,我的测试课。
当我尝试测试时,我得到了。
我做错什么了?