- JBoss Weld CDI for Java Platform
- Ken Finnegan
- 177字
- 2021-08-13 16:49:54
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.
- Functional Python Programming
- Facebook Application Development with Graph API Cookbook
- LabVIEW程序設計基礎與應用
- Learning AWS Lumberyard Game Development
- 區塊鏈:以太坊DApp開發實戰
- 零基礎學Java(第4版)
- PHP+MySQL+Dreamweaver動態網站開發從入門到精通(第3版)
- Getting Started with Python and Raspberry Pi
- Instant jQuery Boilerplate for Plugins
- 3D Printing Designs:The Sun Puzzle
- Mastering PostgreSQL 11(Second Edition)
- Java程序設計(項目教學版)
- Python Natural Language Processing
- Learning Java Lambdas
- MATLAB/Simulink建模與仿真