原文

链接

场景

学习 spring-kafka开源源码的时候,发现每个目录都有一个package-info.java文件,查找其用法,并整理出来。

介绍

package-info.java 是一个 Java 文件,可以放到任意Java源码包执行。不过里面的内容有特定的要求,其主要目的是为了提供包级别相关的操作,比如包级别的注解、注释及公共变量。

用途

提供包级别的变量

如果想在包里面使用对应的变量,而不想让其他包使用,就可以将变量放到 package-info.java 下面,实现分包自用的理念。

样例

  1. /**
  2. * 包类
  3. */
  4. class PACKAGE_CLASS{
  5. public void test(){
  6. }
  7. }
  8. /**
  9. * 包常量
  10. */
  11. class PACKAGE_CONST{
  12. public static final String TEST_01="TEST";
  13. }

在包外的任意类调用包常量,提示报错
在包内的任意类调用包常量,使用正常

提供包级别的注释

使用JavaDoc的时候,通过在package-info.java添加注释,生成JavaDoc实现对应包的注释说明。

样例

  1. /**
  2. * 描述: Spring组件<br>
  3. * 项目名称: data_collection_error_info_transformation <br>
  4. * 创建时间: 2020/5/6 12:59 <br>
  5. * 公司信息: 凯通科技股份有限公司 产品研发中心-大数据产品<br>
  6. *
  7. * @version v1.0
  8. */
  9. @TestPkg
  10. @Deprecated
  11. package com.exercise.data_collection_error_info_transformation.component;

生成对应的JavaDoc文档,截图如下:image.png
点击 component 的链接,截图如下:
image.png