是否可以在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。
答案 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档案文件。