注解和反射在spring框架中应用的最广泛。
官方解释:注解提供了一种安全的类型注释的机制,用来将任何的信息或元数据与程序元素进行关联。
java注解是附加在代码中的一些元信息,便于一些工具在编译,运行时进行解析和使用,启动说明,配置的功能。
注释不会影响代码的实际逻辑,仅仅起到辅助性的作用,包含在 java.lang.annotation 包中。
内置注解:
@Deprecated 过时警告
@Override
@Suppress Warnings
@SafeVarargs
@FunctionalInterface
元注解:
@Retention 定义注解的生命周期
@Target 定义注解使用的地方
@Documented 表示注解是否添加到 java doc中
@Inherited 定义注解和子类的关系
@Repeatable 标识注解可以重复使用
反射:
在运行时,对于任意一个类,都能知道他们属性和方法,对于任意一个对象,都能够调用他的任意一个方法和属性。
获取Class对象的3种方法:
public static void main(String[] args) throws Exception {
Class clazz = null;
clazz = String.class;
System.out.println(clazz);
clazz = "test".getClass();
System.out.println(clazz);
clazz = Class.forName("java.lang.String");
System.out.println(clazz);
}
使用反射获取一个对象:
public static void main(String[] args) throws Exception {
Class clzz = Class.forName("com.example.demob.Person");
Constructor constructor = clzz.getConstructor();
Object o = constructor.newInstance();
System.out.println(o.getClass());
}
原文:https://www.cnblogs.com/sinosecurity/p/15260274.html