cdi相关内容

哪个是Spring相当于CDI @Produces注释的?

当我使用CDI时,我可以使用 @Produces 注释,以创建一个要调用的生成器方法,以选择实现接口的bean将由 @Inject 注释。 现在我正在使用Spring,但是我没有找到任何类似的东西。当我使用 @Autowired @Produces 注释相同的结果>注释? 解决方案 您正在寻找 @Bean : @Bean是XML元素的方法级注释和直接模拟。注释支持大多数提供的属 ..
发布时间:2017-05-05 19:52:10 Java开发

WELD-001408:对于具有限定词@Default的Customer类型的不满足的依赖关系

我是一个Java EE新手。我想测试JSF,因此做了一个简单的程序,但是不能部署它。我收到以下错误消息: 不能部署onlineshop-war 部署失败=部署期间发生错误:异常在加载应用程序时:CDI部署失败:WELD-001408:注入点的限定符@Default 的不符合依赖关系[BackedAnnotatedField] @Inject private de.java2enterpr ..
发布时间:2017-05-05 19:50:19 其他开发

Will Spring是否支持CDI?

现在,DI和AOP是CDI的标准规范。 如果不支持相关标准,任何好的产品都不能再保持良好状态。 (例如,Hibernate支持JPA规范) 我的问题是,Spring会在将来的版本中支持标准规范(CDI)吗? 解决方案 即使Spring是开源的,由一个大社区使用和支持,其未来的发展由一家公司控制spring source / vmware)。因此,它的决定本质上是非公开的,并且肯 ..
发布时间:2017-05-05 19:48:25 其他开发

CDI限制性仿制药

JSR-299规范在§3.1中规定: 如果托管bean类是通用类型,则它必须具有范围 @独立如果具有参数化bean类的托管bean声明 除@Dependent之外的任何范围,容器将自动检测到 的问题,并将其视为定义错误。 有效地意味着你不能这样做: @Named @SessionScoped或@RequestScoped或类似的 public class MyPro ..
发布时间:2017-05-05 19:07:33 Java开发

命名CDI bean的默认范围是什么?

对于 @Named CDI bean,没有额外的 @ ... Scoped 注释有任何默认的作用域?我没有在官方Weld文档中找到任何相关信息。 可以通过JSF访问一个 @Named bean,而不需要额外的注释,所以一些隐含的范围似乎很可能。 谢谢 解决方案 默认范围是依赖伪范围 @Dependent ,如焊接文档: CDI具有所谓的相关伪作用域。这是一个未明确声明范围 ..
发布时间:2017-05-05 19:07:09 Java开发

如何使用CDI限定符与多个类实现?

我在Java EE / JSF中是新的,现在阅读有关CDI限定符 - 改变类实现的可能性。这是伟大的,但我有一个问题。据我所知,我可以使用限定符改变类实现,但是我需要使用这个实现来改变它。在一个地方做最好的解决方案是什么?关于Java EE的小知识,我想出了这个。 让我们想象一下,我们正在创建简单的Calculator应用程序。我们需要创建几个课程: 计算器(计算器的基本实现) / l ..
发布时间:2017-05-05 19:02:44 其他开发

可以在JSR 330中将@Inject做为可选项(像@Autowire(required = false))

可以配置Spring的 @Atoto ,使得如果没有找到匹配的autowire候选项,Spring不会抛出错误: @Autowire(required = false ) 是否有等效的JSR-330注释? @Inject 如果没有匹配的候选人,总是失败。有没有什么办法可以使用 @Inject ,但是如果找不到匹配的类型,那么框架是否会失败?我没有找到任何文件。 解决方案 否...没有 ..
发布时间:2017-05-05 18:58:40 Java开发

了解CDI型安全性的必要性

首先,我应该澄清一点,这篇文章并不是为了批评CDI,而是发现CDI设计背后的思考和假设,这将对设计任何使用Web应用程序的Web应用程序产生明显的影响CDI。 CDI(Java EE 6)最为显着的功能之一是类型安全。 Jboss Seam在类型上不安全。它使用名称来限定要注入的任何实例。如下: @Name(“myBean”) public class MyBean实现Bean { ..
发布时间:2017-05-05 18:51:29 其他开发

为什么在CDI中使用建立者超过setter注入?

我在这里找不到任何合理的答案,所以我希望它不是重复的。那么为什么我更喜欢setter或者构造函数注入简单的 @Inject MyBean bean; 如果您在类初始化期间需要使用注入的bean来处理构造函数注入的使用像 public void MyBean(@Inject OtherBean bean){ doSomeInit(bean); //我不需 ..
发布时间:2017-05-05 18:27:14 Java开发

注入和资源和自动连线注释

@Inject 和 @Resource 和 @Autowired 注释? 我们什么时候应该使用它们? 解决方案 @Inject与@Autowire与@Resource之间的区别? @Autowired:弹簧适当注释(而不是@Inject和@Resource),通过类型注入资源,即由注释字段或承包商的接口的类。如果我们几乎没有实现接口或子类,我们可以使用@Qualifier注释来 ..
发布时间:2017-05-05 18:16:04 其他开发

如何注入@FacesConverter?

我写了一个转换器。我正在使用CDI和注入并行。在这种情况下,类不会被注入。如何使注射成为可能? @FacesConverter(forClass = MyClass.class) public MyConverter类实现转换器{ @EJB private ClassForEJB classForEJB; @Inject private ClassForInje ..
发布时间:2017-05-05 18:15:03 其他开发

在CDI 1.1中注释的bean发现模式的含义

我正在将应用程序迁移到Java EE 7,并希望CDI 1.1。但是我没有得到 bean-discovery-mode =“annotated”的含义。 CDI 1.1规范不是很有帮助。至少我没有找到任何有用的段落。我想念了吗? 这个例子使用 bean-discovery-mode =“all”完美运行,并注入实例 LoggingClass : public class Loggi ..
发布时间:2017-05-05 18:13:10 其他开发

为什么要使用@PostConstruct?

在受管Bean中, @PostConstruct 通过bean初始化,而不是常规构造函数本身? 解决方案因为当构造函数被调用时,bean还没有被初始化 - 即没有注入依赖关系。在 @PostConstruct 方法中,bean被完全初始化,您可以使用依赖关系。 因为是确保在Bean生命周期中仅调用此方法一次的合同。它可能发生(尽管不太可能),bean在其内部工作中被容器多次实例化,但它 ..
发布时间:2017-05-05 18:01:13 Java开发

JEE6 @ApplicationScoped bean和并发

我需要写一个bean作为访问次数的计数器。 我想使用 @ApplicationScoped 豆类与 AtomicInteger 一样 @ApplicationScoped class VisitsCounter { 私有AtomicInteger计数器; @PostConstruct public void construct(){ counter = new ..
发布时间:2016-12-26 15:25:41 Java开发