一、pacakge-info.java介绍
pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中。pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释。
pacakge-info.java文件中,唯一要求包含的内容是包的声明语句,比如:
package com.ch.service;
二、包文档
在Java 5之前,包级的文档是package.html,是通过JavaDoc生成的。而在Java 5以上版本,包的描述以及相关的文档都可以写入pacakge-info.java文件,它也用于JavaDoc的生成。比如:
/*** dev1.ch包描述
* 基于Apache DbUtils库封装的工具库,简化开发* @author Li Qiang
* date: 2015.5.13* @since 1.7* @version 1.0**/package dev1.ch;
上面的说明通过JavaDoc生成如下:
![3369b1f784adf122167f40da342df5b3.png](https://i-blog.csdnimg.cn/blog_migrate/2c75e0f7e60c73d743f8da83ec335684.jpeg)
这里写图片描述
点击dev1.ch程序包的链接后显示:
![022f68caa61cc145be1c1bad08728eee.png](https://i-blog.csdnimg.cn/blog_migrate/4411470dfa93f410fc6936e9c91e2402.jpeg)
这里写图片描述
三、包注释
注释对于程序员来说非常重要,pacakge-info.java文件包含了包级的注释。我们还可以使用ElementType来自定义注释。
包注释当然是ElementType.PACKAGE了,除此之外,还有:
- ElementType.TYPE (class, interface, enum)
- ElementType.FIELD (instance variable)
- ElementType.METHOD ElementType.PARAMETER
- ElementType.CONSTRUCTOR
- ElementType.LOCAL_VARIABLE
- ElementType.ANNOTATION_TYPE (应用于另一个注解上)
比如,想让包中的所有类型过时(Deprecate),你可以注释每一个单独的类型(类、接口、枚举等),如下所示:
@DEPRECATEDPUBLIC CLASS CONTACT {}
或者是可以在package-info.java包声明文件中使用@Deprecated注释,它可以让包中的一切均过时。
@Deprecated
package dev1.ch.domain;
四、把package-info.java添加到包中
可以手动在包目录下创建package-info.java文件,也可以通过Eclipse工具实现这一点。
![41db51c27c54e2476c2413f97b3d70d1.png](https://i-blog.csdnimg.cn/blog_migrate/78f26c261378451f156d6173094a7050.jpeg)
写在最后:
码字不易看到最后了,那就点个关注呗,只收藏不点关注的都是在耍流氓!
关注并私信我“架构”,免费送一套Java架构资料,先到先得!