`
yaojinglive
  • 浏览: 7344 次
  • 性别: Icon_minigender_2
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 注解学习小结

阅读更多

Java SE5内置了3种注解

@Override,表示当前的方法定义将覆盖父类中的方法。

@Deprecated,表示如果程序员使用了注解为它的元素,那么编译器会发出警告信息。

@SuppressWarnings,关闭不当的编译器警告信息。在JSE5中也可以使用这个直接,不过会背忽略不起作用。

 

定义注解

package prosion.annotations.stady.basics.anntotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SQLInteger {
    String name() default "";
    Constraints constaunts() default @Constraints;
}
 

 

package prosion.annotations.stady.basics.anntotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
 *生成数据库表 
 * 
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface DBTable {
	public String name() default "";
}
   
package prosion.annotations.stady.basics.anntotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SQLString {
int value() default 0;
String name() default "";
Constraints constaunts() default @Constraints;
}
 

 

@Target

表示该注解可以应用于什么地方,可能的 ElementType 参数包括:

CONSTRUCTOR :构造器的声明

FIELD :域声明(包括 enum 实例)

LOCAL_VARIABLE :局部变量声明

METHOD :方法声明

PACKAGE :包声明

PARAMETER: 参数声明

TYPE :类,接口(包括注解类型)或者 enum 声明

 

 

@Retention

表示在什么级别保存该注解信息,可选的 RetentionPolicy 参数包括

SOURCE :注解将被编译器丢弃

CLASS :注解在 class 文件中可用,但会被 vm 丢弃

RUNTIME vm 将在运行期也保留直接,因此可以通过反射机制来读取注解的信息。

 

@Decumented

将此注解包含在 Javadoc

 

@Interited

允许子类继承父类中的主角诶

 

注解元素支持的类型:

如果使用支持以外的类型编译器会报错。注意不允许使用任何包装类型 , 元素不能是个不确定的值,就是说要么提供默认值,要么在使用注解时给元素赋值。

所有基本类型( int,float,boolean 等)

String

Class

Enum

Annotation

 

使用注解

package prosion.annotations.stady.basics;

import prosion.annotations.stady.basics.anntotations.Constraints;
import prosion.annotations.stady.basics.anntotations.DBTable;
import prosion.annotations.stady.basics.anntotations.SQLInteger;
import prosion.annotations.stady.basics.anntotations.SQLString;
@DBTable(name="Member")
public class Member {
	@SQLString(20) String firstName;
	@SQLString(50) String lastName;
	@SQLInteger Integer age;
	@SQLString(value=30,constaunts = @Constraints(primarykey=true)) 
	String handle;
	static int memberCount;
	public String getHandle(){
		return handle;
	}
	public String getFirstName(){
		return firstName;
	}
	public String getLastName(){
		return lastName;
	}
	public String toString(){
		return handle;
	}
	
	public Integer getAge(){
		return age;
	}
}
 

 

声明完注解后,需要实现直接处理器才可以使用。如sun公司提供的apt处理器。

 

 

分享到:
评论

相关推荐

    Java基础知识小结

    ### Java基础知识小结 #### 1.1 `getPath()`、`getAbsolutePath()`、`getCanonicalPath()`的区别 在Java中,处理文件路径时经常会用到`getPath()`、`getAbsolutePath()`以及`getCanonicalPath()`这三个方法。它们...

    java开发经验小结

    【Java开发经验总结】 在Java开发中,良好的编程习惯和高效的设计原则对于代码质量和性能至关重要。以下是一些从编码规范到性能...在实际开发中,不断学习和总结,持续优化代码,是成为一个优秀Java开发者的必经之路。

    java课程小结.rar_北京理工大学JAVA课程

    这个“java课程小结.rar_北京理工大学JAVA课程”压缩包中包含的“课程小结”文件,很可能是教授精心编写的教学精华,旨在帮助学生巩固所学知识并为后续学习打下坚实基础。 在Java课程中,有几个核心概念和技术是必...

    Java自定义注解用法实例小结

    Java自定义注解用法实例小结 Java 自定义注解是 Java 中的一种元数据标记,可以添加到类、方法、变量、参数等元素上,提供了关于这些元素的元数据信息。自定义注解可以是公共的也可以是私有的,公共的自定义注解...

    java 技巧小结荟萃

    ### Java技巧小结荟萃 #### Javadoc API 文件产生器 Javadoc 是一款非常重要的工具,主要用于生成文档,能够从源代码注释中提取出有用的文档信息。这不仅有助于提高代码的可读性,还方便其他开发人员快速理解类、...

    Java中Spring获取bean方法小结

    在Java开发中,Spring...开发者可以根据应用需求选择合适的方式,从XML配置到注解注入,再到基于Java的配置,Spring都提供了全面的支持。理解这些获取Bean的方法及其背后的概念,对于高效地使用Spring框架至关重要。

    Java反射机制学习总结

    Java反射机制是Java编程语言中一个强大的工具,它允许程序在运行时动态地获取类的信息并操作类的对象。反射机制的核心在于java.lang.reflect包中的API,主要包括Class类、Constructor类、Method类和Field类。以下是...

    jsp中调用java代码小结.doc

    在JSP中嵌入Java代码时需要注意两个小例外:一是为了与JSP的特殊符号区分,需要使用转义字符`或`%>`来包围Java代码;二是JSP注释虽然在编辑页面中可见,但不会出现在生成的HTML文档中,而是使用`和`--%>`来标识。 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    基于java的商品信息管理系统--大学本科Java基础

    (3)使用my eclipse /Eclipse编写程序4、程序编码时,必须严格遵守java程序标识符的一般约定,并要加适量的注释。5、系统基本能运行,程序结构合理层次清晰6、各种技术的综合应用7、在myeclipse/Eclipse中的控制台...

    EJB3.0注释小结

    EJB (Enterprise JavaBeans) 3.0 是Java EE平台的一部分,它引入了大量的注解,以简化企业级组件的开发。以下是对EJB 3.0中一些关键注解的详细解释: 1. **@Id**:这个注解用于标记实体类的一个属性作为主键。它...

    (六)Java Ee平台上实现Web服务及多种客户端实例-小结.rar

    在Java EE(Enterprise Edition)平台上实现Web服务是一个...总的来说,这个小结是Java EE Web服务开发的一个全面指南,涵盖了从基础概念到高级应用的各个方面,对于学习和理解Java EE平台上的Web服务开发非常有帮助。

    计算机毕业设计:Java实现的简单OA办公管理系统(SSM框架,源码+数据库),保证可靠运行,附赠计算机答辩PPT模板

    该系统不仅适合本科课程设计、毕业设计的需求,同时也是Java学习者掌握SSM框架及办公管理系统开发实践的理想之选。 该系统通过Java语言与SSM框架的结合,实现了员工信息管理、任务管理、文档管理、日程安排等基础...

    java初学者应该阅读的书籍

    ### 小结 通过系统地学习上述书籍,Java初学者将能够建立起全面而深入的知识体系。这些书籍不仅仅是理论知识的堆砌,更重要的是提供了大量实用的代码示例和案例分析,有助于读者更好地理解和掌握Java语言的特点。...

    毕向东Java笔记

    #### 小结 本章介绍了Java的基础知识,包括Java的特点、运行机制、开发环境的搭建、注释的使用、标识符的规则、变量的概念及分类等。这些内容对于Java初学者来说至关重要,是学习Java编程的第一步。接下来的章节将...

    Java初学者—java的学习路径.doc

    #### 四、小结 对于Java初学者而言,熟悉并掌握上述提到的关键技术和工具至关重要。通过系统地学习JDK、深入理解JDK文档、熟练操作常用的应用服务器,可以为成为一名合格的Java开发者打下坚实的基础。此外,持续...

    疯狂JAVA讲义

    学生提问:老师,我想学习Java编程,到底是学习Eclipse好呢,还是学习JBuilder好呢? 21 1.9 本章小结 22 本章练习 22 第2章 理解面向对象 23 2.1 面向对象 24 2.1.1 结构化程序设计简介 24 2.1.2 程序的三种...

    Thinking in java4(中文高清版)-java的'圣经'

    + 和 += 3.14 使用操作符时常犯的错误 3.15 类型转换操作符 3.15.1 截尾和舍入 3.15.2提升 3.16 Java没有“sizeof” 3.17 操作符小结 3.18 总结 第4章 控制执行流程 4.1 true和false 4.2 if-else 4.3 迭代 4.3.1 do-...

Global site tag (gtag.js) - Google Analytics