这两天想搭一个纯粹使用注解的ssm框架,于是就看了看mybatis注解的使用方式,但是感觉java中底层注解平时不常使用都忘得差不多了,于是就重新看了一遍.
这里简单记录下1.Java中开发自定义注解类,2.自定义注解类的使用,3.自定义注解类的解析
一.自定义注解类开发
package com.star.frame.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Name { String id () default "1"; String value() default ""; int len() default 100; String[] properties() default {"p1","p2"}; Class<? extends Object> type() default String.class; }
理解:1.注解类与接口相似,里面只能定义静态常量和抽象方法;它与接口,枚举,类属于同一层次,都被称作一种类型。
2.java底层中提供的注解有两种:(1)常用的基本注解:@SuppressWarnings,@Deprecated,@Override(2)元注解:@Retention,@Target
3.注解类的使用范围由@Retention决定,分三种:
RetentionPolicy.SOURCE:指定注解只保留在源文件当中,编译成类文件后就把注解去掉。
RetentionPolicy.CLASS:指定注解只保留在源文件和编译后 class 文件中,当jvm加载类时就把注解去掉。
RetentionPolicy.RUNTIME:指定注解可以保留在jvm中,这样就可以使用反射获取信息了。
默认保留在类中文件中,所以使用时一般要指定保存到RetentionPolicy.RUNTIME中
4.可以使用注解的元素类型由@Target决定,分为以下几种:
ElementType.TYPE:说明该注解只能被声明在一个类前。
ElementType.FIELD:说明该注解只能被声明在一个类的字段前。
ElementType.METHOD:说明该注解只能被声明在一个类的方法前。
ElementType.PARAMETER:说明该注解只能被声明在一个方法参数前。
ElementType.CONSTRUCTOR:说明该注解只能声明在一个类的构造方法前。
ElementType.LOCAL_VARIABLE:说明该注解只能声明在一个局部变量前。
ElementType.ANNOTATION_TYPE:说明该注解只能声明在一个注解类型前。
ElementType.PACKAGE:说明该注解只能声明在一个包名前
不写则默认可以使用于所有元素类型。
二.自定义注解类的使用
package com.star.frame.annotation; public class Use { @Name(id="name1",len=50,properties={"a","b"},value="test") public boolean getName(String id,int len ,String[] properties,String value){ System.out.println(id); System.out.println(len); System.out.println(properties[0]+properties[1]); System.out.println(value); return true; } }
理解:注解的使用方法:
1.@注解名:一般使用于有默认值的注解
2.@注解名(方法名=方法返回值) :使用于没有默认值的注解,此时必须制定值
3.@注解名(方法名=方法返回值,方法名={返回值1,返回值2}) :使用于方法返回数组类型的注解
4.@注解名(返回值) :使用于只有value方法的注解,可以只写返回值
三.自定义注解类的解析
public class Parse { public void parseMethod(Class clzz) throws Exception{ Object o = clzz.getConstructor(new Class[]{}).newInstance(new Object[]{}); Method[] methods = clzz.getDeclaredMethods(); for (Method method : methods) { Name nameClzz = method.getAnnotation(Name.class); if(nameClzz != null){ String id = nameClzz.id(); String value = nameClzz.value(); int len = nameClzz.len(); String[] props = nameClzz.properties(); Class< ? extends Object> clz = nameClzz.type(); method.invoke(o,id,len,props,value); } } } }
理解:当解析注解的时候,一般通过getAnnotation 或 getAnnotations 来获取类,方法,属性的注解类。从而使用反射进行处理
以上就是对于java注解使用方法的简单总结,此中有些理解的用法是参考一些博客总结出来的,作为自己的积累使用。
相关推荐
Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...
Java注解是Java编程语言中的...学习Java注解需要理解其原理,熟悉各个框架的注解规范,并通过实践来加深理解。这份"java注解大全"资料将引导你全面掌握这一强大的工具,无论是在日常开发还是面试准备中,都将大有裨益。
首先,我们来理解什么是Java注解。注解在Java中是一种特殊的声明,它的主要目的是提供元数据,即关于代码的数据。这些元数据不直接影响程序的执行,但可以被编译器或运行时环境用来进行验证、优化、生成代码、配置...
在实际开发中,理解并熟练运用Java注解能够提高代码的可读性,减少错误,并简化许多自动化任务。通过合理地创建和使用注解,我们可以让代码更易于维护,同时也为工具和框架提供更多的灵活性和扩展性。因此,学习和...
首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种安全的方法来将信息附加到代码中,而不直接影响代码的执行。Java提供了内置的注解,如`@Override`、`@Deprecated`等,但自定义注解允许我们...
首先,我们要理解什么是Java注解(Annotation)。Java注解是一种在源代码中插入特殊声明的方式,这些声明不会改变程序的行为,但可以提供额外的信息,例如文档信息、编译时检查或运行时处理。Java标准库中包含了一些...
### 一、Java注解概述 1. **定义**: 注解是一种声明式的编程元素,以`@`符号开头,后面跟着注解的名称。它们可以应用于类、接口、方法、变量等不同级别。 2. **预定义注解**: Java标准库提供了若干预定义注解,如`...
Java注解是Java编程语言中的一个重要特性,它们提供了一种元数据的方式,让开发者能够向编译器或运行时环境传递额外的信息。这些信息可以用来验证代码、自动生成代码、配置框架或者在运行时进行一些处理。注解的使用...
Java注解(Annotation)是Java语言提供的一种元数据机制,用于向编译器、JVM或者第三方工具提供信息。在Java程序中,注解可以被附加到类、接口、方法、变量等元素上,用于执行代码检查、生成代码、部署等任务。本篇...
使用注解拼接SQL,可以将复杂的SQL逻辑从业务逻辑中分离出来,使DAO更易于理解和测试。 6. **示例应用**: 假设我们有一个User DAO,我们可以定义一个方法来获取用户信息,使用自定义注解: ```java public ...
Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据...通过深入理解和熟练运用Java注解,开发者可以更好地组织代码,提高开发效率,减少出错的可能性,并为未来的维护和扩展打下坚实基础。
总的来说,Java注解为软件开发带来了更丰富的元数据功能,使代码更易于理解和维护,同时也方便了工具和框架对代码的处理。这个例子展示了如何创建、使用注解,以及如何通过Ant构建和运行包含注解的程序。
Java注解和反射机制是Java开发中的重要工具,它们极大地增强了代码的可读性和灵活性。在结合JDBC(Java Database Connectivity)API时,可以构建出更高效、更易维护的数据访问层。本案例通过注解的方式,简化了JDBC...
本文将深入探讨如何在Spring框架中利用Java注解进行扩展,以提升代码的可读性和可维护性。 首先,我们需要了解Java注解(Annotation)。注解是Java语言的一种元数据,它提供了在编译时或运行时对代码进行信息附加的...
在本教程中,我们将深入探讨如何使用Spring 4框架,特别是其基于Java注解的配置方式,来构建一个高效、可维护的系统。Spring 4是Java企业级应用开发的首选框架,它提供了广泛的功能,包括依赖注入、AOP(面向切面...
通过阅读《Java通用注解和API规范.pdf》这份文档,你可以更深入地理解Java注解的原理、使用方法以及最佳实践,从而在实际开发中更好地利用这一强大的工具。这份文档涵盖了从基础概念到高级特性的全面内容,对于Java...
Java注解,也被称为元数据,是Java编程语言中的一个重要特性,它允许程序员在源代码中插入一些附加信息。这些信息可以被编译器或运行时环境用来验证代码、优化性能,或者提供自定义处理。Java注解在现代Java开发中...
Java 注解,也称为 Annotation,是自 Java 5 引入的一种元数据,它...理解并熟练使用 Java 注解,可以极大地提高代码的可维护性、可读性和开发效率,同时也能增强代码的自我描述能力,减少错误并简化自动化工具的集成。
Java注解、反射、字节码和类加载机制是Java编程中的核心概念,它们在实际开发中扮演着重要角色。让我们深入探讨这些知识点。 **Java注解(Annotation)**: Java注解是一种元数据,它提供了在编译时或运行时处理代码的...
### Spring Java注解、元注解与自定义注解详解 #### 一、Java注解简介 在深入了解Spring框架中的注解应用之前,我们首先需要对Java注解有一个基本的认识。Java注解(Annotation)是一种元数据,可以为程序代码添加...