Spring AOP 自定义注解的实现代码

时间:2021-05-20

1.在Maven中加入以下以依赖:

<!-- Spring AOP + AspectJ by shipengzhi --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>3.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>3.0.6.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.11</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.11</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.1_3</version> </dependency> <!-- end -->

在spring-***.xml中加入spring支持,打开aop功能

头文件声明 :

xmlns:aop="http://.wangwenjun.annatation.userdefined; public @interface UserdefinedAnnotation { DateEnum week(); }

使用:

public class UseAnnotation { @UserdefinedAnnotation(week=DateEnum.Sunday) public static void main(String[] args) { System.out.println("hello"); } }

4:默认值

public @interface UserdefinedAnnotation { String name() default "zhangsan"; }

使用:

public class UseAnnotation { @UserdefinedAnnotation() public static void main(String[] args) { System.out.println("hello"); } }

5:注意

Annotation是不可以继承其他接口的,这一点是需要进行注意,这也是annotation的一个规定吧。

Annotation也是存在包结构的,在使用的时候直接进行导入即可。

Annotation类型的类型只支持原声数据类型,枚举类型和Class类型的一维数组,其他的类型或者用户自定义的类都是不可以作为annotation的类型,我查看过文档并且进行过测试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章