自己开发注解
什么是java注解?
注解是加在java代码中的一些特殊标记,可以在编译期间/类加载期间/运行期间/获取到注解信息,然后执行相应的处理 注解可以加在方法前、类和接口前、方法参数前等,可以使用`@Target`元注解来指定
使用注解的好处,为什么要使用注解?
使用注解可以取代xml配置文件。
注解并不影响源代码的运行
注解的坏处
java注解会需要使用java反射的机制,会大大降低性能。java反射会影响系统性能
注解的维护性有问题需要改源代码,解耦性稍差
示例:开发一个类似JUnit的@Test注解
-
开发注解,要使用
@Retention
元注解设定好注解的生存时间。在reflect
包下创建一个Annotation
,名为Test
package reflect; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * 如果一个注解没有任何的属性,一般称之为标识注解 * 注解默认情况下只会保留到字节码文件里面,运行时就会被删除. * 如果希望在运行时仍然能够访问到注解,需要设置注解的生成时间 * @Retention 是一个元注解(即由系统提供,专门用来解释其他的注解的注解) */ @Retention(RetentionPolicy.RUNTIME) public @interface Test { }
-
将注解添加入源代码
在
reflect
包下创建一个类,名为C
package reflect; public class C { public void f1() { System.out.println("C.f1()"); } @Test public void f2() { System.out.println("C.f2()"); } public void hello