RHYTHMK Step-by-step JAVA (19): Annotations annotation

Source: Internet
Author: User

There are four types of annotations that you need to know when writing annotations:

@Target

Indicates where the annotation can be used, and the possible ElementType parameters are:

CONSTRUCTOR: declaration of the constructor

field: domain declarations (including enum instances)

local_variable: local variable declaration

Method : Methods Declaration

Package : Packet Declaration

PARAMETER: parameter declaration

Type : class, interface (including annotation type) or enum sound

@Retention

Indicates at what level the annotation information needs to be saved. The optional retentionpolicy parameters include:

SOURCE: annotations are discarded by the compiler

class: annotations are available in the class file, but are discarded by the VM

RUNTIME: The VM retains annotations during the run, so the information for the annotations can be read through the reflection mechanism.

@Document

To include annotations in the Javadoc

@Inherited

Allow subclasses to inherit annotations from parent class

Define an annotation:

 Package com.rhythmk.annotation; Import Java.lang.annotation.ElementType; Import java.lang.annotation.Retention; Import Java.lang.annotation.RetentionPolicy; Import  = elementtype.type) @Retention (retentionpolicy.runtime) public @Interface  rservice {    default "working";    Runenum Run ();}

Annotations use:

@RService (value={"v1", "v2"},run=runenum.run)publicinterface  userservice {       String  Finduserbyid (int  ID);          String Saveuser (String userName);}

Determine if the class has an annotation by isannotationpresent:

        Class<?> uscls = UserService. class ;         // determine if the change class uses the annotation        boolean isannotationrservice = uscls                . Isannotationpresent (rservice. class);

Gets the value of this class annotation configuration:

    Rservice rservice = UserService. class. getannotation (rservice.  Class);          for (String v:rservice.value ()) {            System.out.println ("Annotated value:" + v);        }        System.out.println ("enum:" + Rservice.run ());

RHYTHMK Step-by-step JAVA (19): Annotations annotation

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.