Java Annotations features and types
Java Annotations features and types
Annotations are a Java feature introduced in JDK5 (a similar mechanism, attributes, also exists in .NET). The main idea of java annotations is to give the programmer the ability to specify all necessary information in the same place. Annotation-based Java development is certainly one of the most notable recent development trends. Annotation-based development relieves Java developers from the pain of cumbersome configuration.
Java annotations are especially powerful as the basis for a DBMS interface when combined with Java’s reflection mechanism, which allows an application to get information about class format at runtime. Since Java works with objects, one requirement is to specify the format of objects (classes) to the database engine.
Java annotations are one of the main ease-of-development features introduced in JDK 5. Annotations are like meta-tags that you can add to your code and apply to package declarations, type declarations, constructors, methods, fields, parameters and variables. They provide a helpful way to indicate whether your methods are dependent on other methods, whether they are incomplete, whether your classes have references to other classes, and so on.
In Java, reflection can enable the DBMS to get format information about application classes at runtime, eliminating the need for either extra software (the specialized compiler or preprocessor) or extra work.
Creating an annotation is similar to creating an interface. But the annotation declaration is preceded by an @ symbol. The annotation declaration itself is annotated with the @Retention annotation. The @Retention annotation is used to specify the retention policy, which can be SOURCE, CLASS, or RUNTIME. The body of an annotation consists of method declarations without body. These methods work like fields. Once an annotation is created, it can be applied to classes, methods, fields, parameters, enums, and so on
Features of Java Annotations:
* Java Annotations are a special kind of Java interface.
* Annotations of java are represented with syntax in which the annotation’s name is preceded by the @ character.
* java Annotations can be associated with types, fields, methods, parameters and local variable declarations.
* Annotations parameters can be specified using keyword notation, and if a parameter is not specified, then a default value is used. The default “value” parameter can be set without specifying the name of the parameter.
*Annotations can be obtained using the reflection API at runtime Annotations do not alter the execution of a program but the information embedded using annotations can be used by various tools during development and deployment.
* An annotation cannot have the extends clause. However, annotations implicitly extend the Annotation interface.
Uses of Java Annotations:
Information for the compiler — Annotations can be used by the compiler to detect errors or suppress warnings.
Compiler-time and deployment-time processing — Software tools can process annotation information to generate code, XML files, and so forth.
Runtime processing — Some annotations are available to be examined at runtime.
Java Annotation Types:
* Simple annotations: These are the basic types supplied with Tiger, which you can use to annotate your code only; you cannot use those to create a custom annotation type.
* Meta annotations: These are the annotation types designed for annotating annotation-type declarations. Simply speaking, these are called the annotations-of-annotations.
* Marker: Marker type annotations have no elements, except the annotation name itself.
* Single-Element: Single-element, or single-value type, annotations provide a single piece of data only. This can be represented with a data=value pair or, simply with the value (a shortcut syntax) only, within parenthesis.
* Full-value or multi-value: Full-value type annotations have multiple data members. Therefore, you must use a full data=value parameter syntax for each member.
The Java compiler conditionally stores annotation metadata in the class files if the annotation has a Retention Policy of CLASS or RUNTIME. Later, the JVM or other programs can look for the metadata to determine how to interact with the program elements or change their behavior.
Recent Interview Tips Articles
- What is the Difference between Labour and Employee
- Career as Veterinarian
- Tips to Set Up a Pinterest Business Page
- Career of Aircraft Auto Mechanic
- How to Research the Current Job Market
- Inventory Planning Manager Job Description
- Skills Required for Hospitality Management Career
- Facebook tells its users to ignore rumors spreading on the social network
- How to get started with a career in Journalism
- How to build Professional Photographer career
- Architecture Of .NET and Its Tools
- Dot Net Benefits and its Career
- Tips to Develop Android Applications
- Tips to find Right career Path
- Tips for getting Interview Offers
- Tips To Have Effective Presentation Skills
- SEO Books
- WebSphere Portal Admin Training Institutes
- WebSphere Process Server Training Institutes
- Unix – Sun Solaris Admin Training Institutes
- SAP SD Training Institutes
- WebSphere ID Training Institutes
- SAP Basis Training Institutes
- Oracle WebLogic Server Training Institutes
- Oracle 10g & D2K Training Institutes
- SAP IS Retail Training Institutes
- TIBCO EMS Training Institutes
- Loadrunner and Performance Testing Training Institutes
- Linux Admin Training Institutes
- SAP ABAP Training Institutes
- TIBCO Training Institutes
- C with DS Training Institutes
- Salesforce Training Institutes
- SQL Server DBA Training Institutes
- Selenium Training Institutes
- WebSphere Training Institutes
- SAP BO Training Institutes
- SAS Training Institutes
- Oracle Training Institutes
- OBIA Training Institutes
- LoadRunner Training Institutes
- Joomla Training Institutes
- Informatica Training Institutes
- ETL Testing Training Institutes
- Drupal Training Institutes
- Dot Net Training Institutes
- Android Training Institutes
- Web Designing training Institutes
- WebLogic Training Institutes
- Software Testing Tools Training Institutes