我正在写一个代码,它需要与QUUKUS和Spring DI兼容。我同时使用DI和Spring Boot Properties扩展,也就是Spring Boot扩展。显然,它工作得很好,但是从外部依赖项注入任何其他对象都不会被注入任何地方。QUUKUS似乎不认识它。
这是Spring扩张的某种限制吗?我已经试过使用quarkus了。索引dependency
属性,并尝试包含作为Quarkus扩展结构的dependency,但不起作用。
编辑1:如@Kolossus所述,添加bean。xml解决了DI问题,但我遇到了另一个与properties类相关的错误:
java.lang.运行时异常:io.quarkus.builder.构建异常:构建失败:由于错误导致构建失败
[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: Found 3 deployment problems:
[1] Ambiguous dependencies for type com.properties.IntegrationProperties and qualifiers [@Default]
- java member: com.authorization.AuthenticationService#<init>()
- declared on CLASS bean [types=[com.authorization.AuthenticationService, java.lang.Object], qualifiers=[@Named(value = "authenticationService"), @Default, @Any], target=com.authorization.AuthenticationService]
- available beans:
- CLASS bean [types=[com.properties.IntegrationProperties, java.lang.Object], qualifiers=[@Default, @Any], target=com.properties.IntegrationProperties]
- PRODUCER METHOD bean [types=[com.properties.IntegrationProperties, java.lang.Object], qualifiers=[@Default, @Any], target=com.properties.IntegrationProperties produceIntegrationProperties(org.eclipse.microprofile.config.Config), declaringBean=io.quarkus.arc.runtime.config.ConfigPropertiesProducer]
属性类的所有注入点中的模糊依赖关系。
将beans.xml
添加到依赖项解决了我的问题。属性类的问题是类注释如下:
@Configuration@ConfigurationProperties(prefix="thum-prefix")公共类集成属性
所以Quarkus创建了两个相同类型的bean,一个是因为@configuration
,另一个是因为@ConfigurationProperties
。我通过在另一个配置类中添加@EnableConfigurationProperties(IntegrationProperties.class)
来修复它。
我有一个叫做Container的类: ServiceB依赖于ServiceA: 在我的应用程序中可以有几个容器。现在,有没有什么诀窍可以将这个已经被注入到与ServiceB相同的容器实例中的ServiceA实例注入到ServiceB中呢?
我目前正在开发一个尽可能尊重六边形架构原则的应用程序。 因此,我的“域”模块(组Id: ; 工件Id:)不依赖于任何技术框架。 我的所有服务都使用自定义注释(本身是我域的一部分)进行注释: 然而,在我的“Quarkus应用”模块(groupId:< code > acme ;artifact id:< code > app-quar kus ,我需要注入我的“域”模块中定义的服务(< code>a
如何在类中注入依赖与@Inject注释micronaut框架 如何使用@Inject
然而,Eclipse告诉我“没有bean可以被注入到注入点[JSR-299§5.2.1]”。我做错了什么?你有没有看到我缺少的东西。如有任何帮助,我们将不胜感激。 谢谢!!
在Spring DI中,将autowired字段声明为可选字段可以使客户端不向其注入任何值。使用Java EE的CDI是否可能做到这一点?我试过可选但失败了。我想知道是否有一个等价的机制我可以使用。 下面是我尝试的: 我得到一个错误消息:线程“main”org.jboss.weld.exceptions.deploymentexception:WELD-001408在注入点[[BackedAnno
我有一个正在使用jar的项目a,比如(其中B是在项目a中用作依赖项的另一个项目),现在有一个(类似于缓存),它在映射中保存所需的所有数据。这个映射bean被project(在我的项目中作为包含)使用,即B来读取缓存属性,但我无法这样做,有什么帮助吗? 项目B的webapp-config.xml 上面的bean b2必须在外部项目B中使用(作为jar包含在我的项目A中)。 但我得到了 任何帮助都将不