# custom-annotation **Repository Path**: zhxs_code/custom-annotation ## Basic Information - **Project Name**: custom-annotation - **Description**: 自定义日志注解 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-03-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 中文:自定义注解的实现与测试 english: custom annotation of implement and test 简单讲解注解相关知识: 注解的实现原理: 注解就是利用spring的aop来实现的,对对象实例进行操作时的对象其实不是我们定义的class的对象, 而是由spring使用代理模式生成的一个代理对象,只有在操作代理对象时,才能在我们需要的方法执行之前, 执行之后等时机进行我们需要的额外处理。 自定义注解: 自定义注解类编写的一些规则: 1. Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口. 2. 参数成员只能用public或默认(default)这两个访问权修饰 3. 参数成员只能用基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组. 4. 要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation对象,因为你除此之外没有别的获取注解对象的方法 5. 注解也可以没有定义成员, 不过这样注解就没啥用了 PS:自定义注解需要使用到元注解 sprintboot + 自定义注解的maven依赖: