[java] Usage of custom annotations-detailed tutorial
Annotation
When using @interface to customize annotations, the java.lang.annotation.Annotation interface is automatically inherited, and other details are automatically completed by the compiler. When defining annotations, you cannot inherit other annotations or interfaces. @interface is used to declare an annotation, and each method actually declares a configuration parameter. The name of the method is the name of the parameter, and the return value type is the type of the parameter (the return value type can only be basic types, Class, String, or enum). You can declare the default value of a parameter through default.
. char, long, short)
‐ been been been been 2. String type
been been been 3. Class been been typed
been been 4. Enum type been been been typed
been been been represented.
Directly upload the code:
import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 定义一个注解 */ @Target(ElementType.METHOD) // 这是一个对方法的注解,还可以是包、类、变量等很多东西 @Retention(RetentionPolicy.RUNTIME) // 保留时间,一般注解就是为了框架开发时代替配置文件使用,JVM运行时用反射取参数处理,所以一般都为RUNTIME类型 @Documented // 用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化 public @interface OneAnnotation { // 定义注解的参数,类型可以为基本类型以及String、Class、enum、数组等,default为默认值 String parameter1() default ""; int parameter2() default -1;
Use the annotated class
/** * 一个用到了自定义的注解的类 */ public class OneClass { @OneAnnotation(parameter1="YES", parameter2=10000) public void oneMethod () { }
Extract the annotation parametersimport java.lang.reflect.Method;
public class TestThis {
public static void main(String[] args) throws Exception {
// 提取到被注解的方法Method,这里用到了反射的知识
Method method = Class.forName("OneClass").getDeclaredMethod("oneMethod");
// 从Method方法中通过方法getAnnotation获得我们设置的注解
OneAnnotation oneAnnotation = method.getAnnotation(OneAnnotation.class);
// 得到注解的俩参数
System.out.println(oneAnnotation.parameter1());
System.out.println(oneAnnotation.parameter2());
}
YES
10000
Related articles:
Java custom annotations Java annotation tutorials and custom annotationsComprehensive analysis of Java annotations
The above is the detailed content of [java] Usage of custom annotations-detailed tutorial. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Start Spring using IntelliJIDEAUltimate version...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

When using TKMyBatis for database queries, how to gracefully get entity class variable names to build query conditions is a common problem. This article will pin...
