java --自定义注解的使用
来源:互联网 发布:地牢猎手5网络出错 编辑:程序博客网 时间:2024/05/02 03:35
Annotaton(注解)是jdk5.0后引入的,先今很多主流框架都支持注解。
注解一般用于创建文档,跟踪代码中的依赖以及编译检查。以@注解名存在
jdk中常用的注解有
@Override 覆盖超类中方法
@Deprecated 被废弃的代码
@suppressWarings 警告
还有一些用于专门创建自定义的注解
自定义注解
@Target 应用注解位置:字段,方法,类..
@retemtop 使用级别,(runtime ,class,source)
@Documente 是否被包含在javadoc中
@Inherited 允许子类继承父类中的注解
定义一个注解目的还是在于使用,使用注解最主要的部分在于对注解的处理,那么就会涉及到注解处理器。从原理上讲,注解处理器就是通过反射机制获取被检查方法上的注解信息,然后根据注解元素的值进行特定的处理。
根据我们上节了解到的反射机制
我们做一个注解的定义和使用
1定义注解类
- importjava.lang.annotation.ElementType;
- importjava.lang.annotation.Retention;
- importjava.lang.annotation.RetentionPolicy;
- importjava.lang.annotation.Target;
- @Target(ElementType.METHOD)
- @Retention(RetentionPolicy.RUNTIME)
- public @interfaceUseCase {
- public String name();
- public String desciption() default "no description";
- }
2定义用户类
- package com.bjpower.node.spring;
- public class User {
- private String userName;
- private String password;
- @UseCase(name = "password", desciption = "密码")
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- @UseCase(name="userName",desciption="用户名")
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public User() {
- }
- public User(String username) {
- this.userName = username;
- }
- }
3获取注解类方法
- public static void getrefect(String clas){
- try {
- Class<?> cls = Class.forName(clas);//反射获取类的Class对象
- Method [] methods = cls.getDeclaredMethods();//获取类的所有方法
- for (Method method : methods) {
- //判断方法上是否有指定的注解,有则获取注解进行打印
- if(method.isAnnotationPresent(UseCase.class) == true){
- UseCase usercase = method.getAnnotation(UseCase.class);//获取注解类
- System.out.println("用户信息:"+ usercase.name()+" 用户描述:"+usercase.desciption() );
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
4客户端测试
- public class Client {
- public static void main(String[] args) {
- getrefect("com.bjpower.node.spring.User");
- }
- }
测试结果:
用户信息:password用户描述:密码
用户信息:userName用户描述:用户名
小结:
注解的解析是利用反射,动态的解析的,相比注释,他有自己独特的优点,我们可以对某些字段或方法进行特别说明来对页面信息进行展示。
0 0
- Java自定义注解及注解的使用
- java --自定义注解的使用
- java --自定义注解的使用
- Java自定义注解的使用
- java 自定义注解使用
- java使用自定义注解
- java 自定义注解使用
- JAVA自定义注解使用
- Java自定义注解Annotation的使用
- JAVA常用自定义的注解使用
- JAVA自定义注解的使用和定义
- Java注解的作用,使用,自定义
- Java的自定义注解编写、使用、获取
- Java Annotation 注解的介绍和使用 自定义注解
- java自带注解了解,自定义注解的实现,自定义注解的使用
- 自定义注解的使用
- java的自定义注解
- java自定义注解及注解使用
- pku2528----区间染色成段更新
- 循序渐进学习Tableau Desktop(一)
- 第三周项目五——数组作数据成员(2)
- HDU1845 Jimmy’s Assignment
- 《Apache MINA 2.0 用户指南》第六章:传输
- java --自定义注解的使用
- 5、多态、异常和多线程
- 为什么Java byte 类型的取值范围是-128~127
- Android开发_发短信
- 【SICP练习】138 练习3.69
- JAVA内部类
- 《Apache MINA 2.0 用户指南》第七章:事件处理器
- PHP字符串处理函数示例学习笔记
- Android 给layout设置动画的两种方式