@Document元注解的使用

@Documented注解标记的元素,Javadoc工具会将此注解标记元素的注解信息包含在javadoc中。默认,注解信息不会包含在Javadoc中。示例如下:

声明Book注解,并使用@Document标记:

package org.springmorning.demo.javabase.annotation.meta;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;

/**
 * @author 春晨
 * Copyright ©2019 春晨 https://www.cnblogs.com/springmorning/p/10261472.html
 */
@Documented
@Inherited
public @interface Book {

    //书名
    String name();

    //出版日期
    String publishedDate();

    //作者
    String author();
}

使用@Book注解标记类DocumentAnnotation,Book标记元素内容如下:

package org.springmorning.demo.javabase.annotation.meta;

/**
 * @author 春晨
 * Copyright ©2019 春晨 https://www.cnblogs.com/springmorning/p/10261472.html
 */
@Book(
        name = "Spring in Action",
        author = "Craig Walls",
        publishedDate = "2008-10-1"
)
public class DocumentAnnotation {}

打开cmd 输入javadoc命令:

javadoc -d D:doc org.springmorning.demo.javabase.annotation.meta -encoding utf-8 -charset utf-8

说明:

-d D:doc 表示:doc文件输入目录为D盘的doc文件夹;

org.springmorning.demo.javabase.annotation.meta 表示此包中所有类需要生成java doc html文件;

-encoding utf-8 表示:java代码采用的是utf-8字符编码编写的;

-charset utf-8 表示:java doc html文件为utf-8字符编码。

运行结果:

javadoc 命令生成的java doc文档:

浏览器打开index.html查看里面的内容,可以看到@Book注解的文档说明:

点左侧栏中的“DocumentAnnotation",打开DocumentAnnotation类的文档说明,可以看到@Book标记的注解内容显示了出来:

如果@Book注解没有被@Document标记,那么被@Book注解标记的DocumentAnnotation类的注解信息就不会包含在java doc html文档中:如下图

 下节继续

    下节将给大家讲解元注解@Inherited的使用

原文地址:https://www.cnblogs.com/springmorning/p/10261472.html