java resources是什么?让我们一起来了解一下吧!
JAVA中的一个注解在某种意义上来说,只不过是一种特殊的注释而已,若是没有解析它的代码,它可能连注释都比不上。解析一个类或者方法的注解往往有两种形式,一种是编译期直接的扫描,一种是运行期反射。java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。
java resources是使用java注解的一个机制。
JDK 内置注解的定义:
@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override { }
“元注解”是用于修饰注解的注解,通常用在注解的定义上,例如:
@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override { }
JAVA 中有以下四个『元注解』:
1.@Target:注解的作用目标
2.@Retention:注解的生命周期
3.@Documented:注解是否应当被包含在 JavaDoc 文档中
4.@Inherited:是否允许子类继承该注解
实战演练,具体步骤如下所示:
package com.java.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /**定义注解 * @Target: 表示该注解可以用于什么地方,可能的ElementType参数有: CONSTRUCTOR:构造器的声明 FIELD:域声明(包括enum实例) LOCAL_VARIABLE:局部变量声明 METHOD:方法声明 PACKAGE:包声明 PARAMETER:参数声明 TYPE:类、接口(包括注解类型)或enum声明 @Retention 表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括: SOURCE:注解将被编译器丢弃 CLASS:注解在class文件中可用,但会被VM丢弃 RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息 * * */ public class UseCase{ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface UseCases{ public String id(); public String description() default "no description"; } } package com.java.api; import com.java.api.UseCase.UseCases; /** * 使用注解: * * */ public class PasswordUtils { @UseCases(id="47",description="Passwords must contain at least one numeric") public boolean validatePassword(String password) { return (password.matches("\\w*\\d\\w*")); } @UseCases(id ="48") public String encryptPassword(String password) { return new StringBuilder(password).reverse().toString(); } }
以上就是小编今天的分享了,希望可以帮助到大家。