spring - 在 Spring 中使用 @Inject Instance<blah>

标签 spring cdi

我知道 Instance 不是 JSR 330 的一部分,但是是否有 Spring 等效项?我对 Instance 实现 Iterable 这一事实很感兴趣,因此 Provider 将不是正确答案。

public interface Report { ... }

(有 2 个类使用 @Named 注释实现 Report)

@Named
public class ReportRunner {
    @Inject private Instance<Report> reports;
}

结果: 找不到类型为 [javax.enterprise.inject.Instance] 的符合条件的 bean 来依赖...

最佳答案

关闭此问题,因为它已在评论中得到回答。正如上面提到的@JB Nizet,List<Report>作品。

对于那些想知道我在做什么的人来说,它是一个通用的报告运行器,其中每个报告都有自己的实现类,每个类都有一组数据库存储参数。通过此设置,我可以让报告运行器在我的应用程序服务器中运行,根据需要放入 jars,在 ReportRunner 维护的子上下文(仅扫描报告包)上点击重新扫描,我可以修改报告苍蝇,无需重新启动服务器。

关于spring - 在 Spring 中使用 @Inject Instance<blah>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22875680/

相关文章:

jar - 在 Weld 中从不同的 Jar 注入(inject) bean

java - 在运行时使用 java.lang.annotation 检索 Spring 中的 bean

java - 使用 Spring JDBCTemplate 更新结果集

java - 如何进行多模块 Spring 配置?

java - 实现订单排序

java - CDI @RequestScoped 是否可以防止并发问题?

dependency-injection - GlassFish、CDI 和构造函数注入(inject)

java - Hibernate 查询不从数据库检索数据

java - JSF中模型和 Controller 的区别

jsf - Apache Tomcat 7.0.47 上的 BeanManager 无法创建资源实例