beans.xml文件中的Beans定义

时间:2019-08-21 14:37:57

标签: quarkus

是否可以在beans.xml文件中定义bean?

<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd" bean-discovery-mode="all" version="2.0">
<bean id="example" class="example" scope="singleton"/>

我正在尝试这样做,但是当我尝试使用该bean时却收到了NullPointerException。

1 个答案:

答案 0 :(得分:2)

如果查看您自己声明的XML模式(http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd),您会发现它不允许允许使用<bean>元素。因此,不能,在CDI中无法在beans.xml中定义bean。

另外,据我所知,ArC(Quarkus中的“ CDI”实现,不完全符合CDI)完全忽略了beans.xml的内容,只是在寻找它的存在。

Quarkus CDI指南本身(对于Quarkus版本0.21.1)mentions作为限制之一:

  

beans.xml描述符内容被忽略

当前,beans.xml仅用作标记文件,表示应将档案文件视为Bean档案文件。