官术网_书友最值得收藏!

Is my class a bean?

For almost every Java class that we as developers have ever written, the answer would be yes, most definitely, as long as the Java class has either a constructor with no parameters or a constructor that is annotated with @Inject.

There is only one requirement that CDI mandates for a Java class to be injected as a bean, and that's for the Java class to be packaged into an appropriate archive (such as a JAR or WAR) that contains a descriptor file called beans.xml. This descriptor file needs to be present in the META-INF folder of a JAR or the WEB-INF folder of a WAR.

It's perfectly fine for beans.xml to be completely empty or only contain the following XML content:

<beans xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
    http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>

For most applications, the sole purpose of beans.xml is to notify CDI that there are beans within the archive that need to be scanned, so that they are available to have beans injected into them as well as be injected into other beans that may not be present within this archive.

主站蜘蛛池模板: 宝丰县| 临西县| 盐津县| 修武县| 梨树县| 浪卡子县| 清流县| 丹阳市| 仁怀市| 兴安盟| 城口县| 临西县| 乌拉特中旗| 石狮市| 蒙山县| 大关县| 白河县| 克拉玛依市| 桐城市| 来宾市| 江西省| 常山县| 开鲁县| 苗栗市| 武隆县| 登封市| 延吉市| 泗洪县| 准格尔旗| 调兵山市| 崇义县| 伽师县| 合阳县| 勐海县| 宜州市| 桐城市| 涿州市| 连平县| 莎车县| 资兴市| 子洲县|