什么是注解
很多人刚学习注解,包括我都不理解注解的作用在哪里,Spring 中大量使用注解,Servlet 也使用注解,总之很多地方都使用注解,但凡用到注解的地方都能很明显地感觉到可以少写很多配置文件和代码。注解本身就是注释,只不过注解是给程序看的,注释不被程序编译,而是给人看的,注解也是如此,程序编译注解中的信息,也可以拿到注解中注入的数据。
体验注解的作用
写一个简单的注解,注解的写法和接口相似,这里就不讨论注解的本质、注解的元注解等基础知识。只需要明白元注解就是让注解在“什么时候用”和“哪里用”的问题。
1️⃣ 写一个注解:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Property {
String name();
String value();
}
这个注解有两个抽象函数,name 是让注解给字段添加 key,value 是让注解给字段添加值。
2️⃣ 写一个普通的类,使用注解:
public class User {
@Property(name = "username", value = "Hello World!")
private String username;
@Property(name = "password", value = "123123")
private String password;
}
3️⃣ 获取类中属性上的注解:
public static void main(String[] args) {
Class<User> user = User.class;
for (Field field : user.getDeclaredFields()) {
Property annotation = field.getAnnotation(Property.class);
System.out.println(annotation.name() + "=>" + annotation.value());
}
}
获取注解需要使用反射,通过反射,我们可以获取这个类中的注解、字段、函数等。第一,我们要获取类中的所有字段(属性),循环遍历出每一个字段;第二,通过字段获取注解;第三,调用注解中提供的抽象函数。
标签:String,value,好处,简化,注解,Property,public,name From: https://www.cnblogs.com/Enziandom/p/16801183.html