
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:是否允許子類繼承該注解
實戰(zhàn)演練,具體步驟如下所示:
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參數(shù)有:
CONSTRUCTOR:構造器的聲明
FIELD:域聲明(包括enum實例)
LOCAL_VARIABLE:局部變量聲明
METHOD:方法聲明
PACKAGE:包聲明
PARAMETER:參數(shù)聲明
TYPE:類、接口(包括注解類型)或enum聲明
@Retention
?
表示需要在什么級別保存該注解信息。可選的RetentionPolicy參數(shù)包括:
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();
?????}
}以上就是小編今天的分享了,希望可以幫助到大家。
