java word批注_编写Java批注

java word批注

Java 批注的允许的属性类型刻意非常严格,但是允许的类型也可以使用一些简洁的复合批注类型。

考虑教程站点中的示例注释:

package annotation;
@interface ClassPreamble {String author();String[] reviewers();
}

在这里,作者和审阅者为字符串和数组类型,与注释属性的允许类型保持一致。 以下是允许的类型的完整列表(从Java 7开始):

  • 任何对Class的参数化调用
  • 枚举类型
  • 注释类型,请注意不允许循环,注释类型不能引用自身
  • 一个数组类型,其元素类型为上述类型之一。

现在,要使功能更丰富的ClassPreable,请考虑以这种方式定义的另外两种注释类型:

package annotation;public @interface Author {String first() default '';String last() default '';
}package annotation;public @interface Reviewer {String first() default '';String last() default '';
}

有了这些,ClassPreamble可以由更丰富的Author和Reviewer批注类型组成,方法是:

package annotation;
@interface ClassPreamble {Author author();Reviewer[] reviewers();
}

现在,应用于类的注释如下所示:

package annotation;@ClassPreamble(author = @Author(first = 'John', last = 'Doe'), reviewers = {@Reviewer(first = 'first1', last = 'last1'), @Reviewer(last = 'last2') }
)
public class MyClass {
....
}

这是一个人为设计的示例,仅用于说明批注的组成,但是该方法广泛用于现实世界的批注,例如,用于定义两个JPA实体之间的多对多关系:

@ManyToMany@JoinTable(name='Employee_Project',joinColumns=@JoinColumn(name='Employee_ID'),inverseJoinColumns=@JoinColumn(name='Project_ID'))private Collection<Project> projects;

参考:在all和杂物博客上,由JCG合作伙伴 Biju Kunjummen 编写Java注释 。

翻译自: https://www.javacodegeeks.com/2012/12/composing-java-annotations.html

java word批注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle报错ora-00200,oracle 11gR2 rac 创建database报ORA-00200错误

oracle 11gR2 rac创建数据库时,报ORA-00200错误,提示权限不够NOTE: MARK has subscribedNOTE: Loaded library: SystemSUCCESS: diskgroup TESTDG was mountedErrors in file /u01/app/oracle/diag/rdbms/racdb/racdb1/trace/racdb1_ora_16324.trc:ORA-27091: unable to queue …

SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构

摘要 ROS机器人操作系统在机器人应用领域很流行&#xff0c;依托代码开源和模块间协作等特性&#xff0c;给机器人开发者带来了很大的方便。我们的机器人“miiboo”中的大部分程序也采用ROS进行开发&#xff0c;所以本文就重点对ROS…

oracle ojvm generic,Oracle OJVM安全补丁

什么是OJVM PSU&#xff1f;CPU: Critical Patch UpdateOracle对于其产品每个季度发行一次的安全补丁包&#xff0c;通常是为了修复产品中的安全隐患。PSU: Patch Set UpdatesOracle对于其产品每个季度发行一次的补丁包&#xff0c;包含了bug的修复。Oracle选取被用户下载数量多…

小规模流处理kata。 第1部分:线程池

我再次为我的公司在GeeCON 2016上举办了编程竞赛。 这次分配需要设计并根据以下要求选择实施系统&#xff1a; 一个系统每秒传送约一千个事件。 每个Event至少具有两个属性&#xff1a; clientId –我们期望一个客户端每秒最多可以处理几个事件 UUID –全球唯一 消耗一个事…

VC++ MSDN中的 _beginthreadex与_endthreadex 的使用例子

1._beginthread, _beginthreadex .用于创建线程[cpp] view plaincopy uintptr_t _beginthread( void( *start_address )( void * ), unsigned stack_size, void *arglist ); uintptr_t _beginthreadex( //推荐使用 void *security, //安全属性&#…

「澳洋主数据项目」主数据促企业变革

part 1 企业简介&#xff1a; 澳洋集团是一家跨地区、多元化的民营企业集团&#xff0c;总部位于全国百强县市前三甲的江苏省张家港市。集团成立于1998年7月&#xff0c;2007年经国家工商总局核准&#xff0c;升格为免冠行政区划的大型集团企业。集团现有37家下属子&#xff08…

linux bin目录误删,Linux下误删 /user/bin目录后的补救

当危险的动作发生&#xff0c; 误删 /user/bin目录后的补救以下是昨天晚上真实的误操作现场&#xff0c;模拟记录一下(这是测试环境&#xff0c;所以操作得很随意&#xff0c;有些执行动作很不规范)在上面编译一个软件Dboop&#xff0c;完事以后想把它做个软链到 /usr/binsudo …

使用JFlex生成词法分析器 1:安装配置

环境&#xff1a;Windows 10 STEP 1&#xff1a; 下载 JFlex 文件&#xff0c;我选择的是 jflex-1.7.0.zip。下载完成后解压到想安装的位置。 文件结构如下&#xff08;假设解压目录为 C:\&#xff09;&#xff1a; C:\jflex-1.7.0\ --bin\ (start scri…

问题: 将N个元素使用push_back插入到vector中, 求push_back操作的复杂度。

简单分析如下&#xff1a; 考虑vector每次内存扩充两倍的情况。 如果我们插入N个元素&#xff0c; 则会引发lgN次的内存扩充&#xff0c;而每次扩充引起的元素拷贝次数为 2^0, 2^1, 2^2, ..., 2^lgN. 把所有的拷贝次数相加得到 2^0 2^1 2^2 ... 2^lgN 2 * 2^lgN - 1 约为…

linux superblock 时间,Linux命令(八)

1、文件系统:windows的FAT&#xff0c;win2000以后的NTFS文件系统&#xff0c;Linux的正规文件系统为EXT2(Linux second extended file system&#xff0c;Ext2fs)传统方式中&#xff0c;一个分区只能格式化为一个分区。由于新技术的利用&#xff0c;一个分区可以格式化为多个文…

在Amazon Elastic Beanstalk上部署Spring Boot应用程序

在此博客中&#xff0c;我们将看到如何在Amazon ElasticBeanstalk上部署Spring Boot应用程序。 Amazon ElasticBeanstalk具有一个预配置的Java环境&#xff0c;可用于部署内部装有servlet容器的Spring Boot JAR。 对于我们的示例&#xff0c;此处将使用maven作为构建工具。 …

Linux上静态库和动态库的编译和使用

linux上静态库和动态库的编译和使用&#xff08;附外部符号错误浅谈&#xff09; 这就是静态库和动态库的显著区别&#xff0c;静态库是编译期间由链接器通过include目录找到并链接到到可执行文件中&#xff0c;而动态库则是运行期间动态调用&#xff0c;只有运行时找不到对应动…

Linux Socket API Connect 函数详解

在讲解套接字编程函数之前&#xff0c;有必要对socket编程的两个不可或缺的结构体进行说明。 第一个结构体式struct sockaddr.。这个结构为许多类型的套接字储存套接字地址信息&#xff1a; Sockaddr结构体介绍 #include<sys/socket.h> struct sockaddr { …

java 适用参数_Java功能的适用性

java 适用参数Java语言和标准库功能强大&#xff0c;但功能强大&#xff0c; 责任重大 。 一方面看到很多用户代码滥用或滥用稀有的Java功能&#xff0c;另一方面却完全忘记了大多数基本功能之后&#xff0c;我决定撰写此摘要。 这不是每个Java开发人员都应该探索&#xff0c;了…

linux查看tar进程进度,Linux:wget后台下载/查看后台任务进度

今天在自己的服务器上使用wget下载一个大文件时&#xff0c;不小心把ssh断开连接了&#xff0c;重新登上去后想查看这个文件的下载进度&#xff0c;现记录一些wget的知识点。1&#xff1a;后台下载使用wget -b url[root8f9fbda9bb48 ~]# wget -b http://cn.wordpress.org/word…

【redis】在windos下的redis服务器的搭建

1.下载Redis-x64-3.2.100&#xff08;楼主用的版本&#xff0c;需要安装包的可以找我要&#xff09; 下载官方版本 2.解压后在cmd下运行 redis-server redis.windos.conf 此时redis服务已经在该windows下6379端口运行 3.把该服务设置成windos服务 redis-server --service-insta…

《Linux网络接口》---------struct ifreq struct ifconf

网络接口--------------struct ifconf&#xff0c;struct ifreq 网络相关的ioctl请求的request参数及arg地址必须指向的数据类型如下表所示&#xff1a; 接口 SIOCGIFCONF SIOCSIFADDR SIOCGIFADDR SIOCSIFBRDADDR SIOCGIFBRDADDR SIOCSIFNETMASK SIOCGIFNETMASK 获取所有接口…

会议季Mic Drop:您不应该错过的13场Java演讲

您的老板没有派您参加真正的会议吗&#xff1f; 我们为您准备了最好的讲座 9月主要发生在一些重大事件上&#xff1a;秋季的第一天&#xff0c;甚至全国熏肉日。 这也是召开会议最忙的月份之一&#xff0c;一些大型Java事件涵盖了平台的新的重要更新。 在下面的帖子中&#x…

linux7设备的挂载,centos7磁盘分区与挂载解析

Linux系统在磁盘、U盘以及光盘等设备分区和挂载操做才能使用。centos1、磁盘分区原理与规则ui磁盘分区类型&#xff1a;主分区&#xff0c;扩展分区&#xff0c;逻辑分区this分区规则&#xff1a;centos7一、主分区扩展分区的数量不能超过4个&#xff0c;且扩展分区只能有1个。…

【公众号系列】SAP的新零售

公众号&#xff1a;SAP Technical本文作者&#xff1a;matinal原文出处&#xff1a;http://www.cnblogs.com/SAPmatinal/ 原文链接&#xff1a;【公众号系列】SAP的新零售写在前面 还是以前的一篇文章&#xff08;一八年三月&#xff09;&#xff0c;拿出来重新了解一下。 随着…