It is annotation-driven programming model. It extensively uses Java annotations.
Annotations replace excessive XML-based configuration files and eliminate the need for the rigid component models.
XML-based deployment descriptors and annotations can both be used to configure service-related attributes in Java EE applications.
The two differ in that XML files are processed separately from the code, often at runtime, while annotations are compiled with the code and checked by the compiler.