An annotation needs a tool to respond to it. If such a tool does not exist, the annotation is simply a designation. A βtoolβ can be an APT based agent or some piece of code that uses reflection (for example, JUnit @Test ).
Several annotations are recognized by the Java compiler and therefore have predefined semantics: @Override , @Deprecated , @Target .
source share