Repolode
google

google/auto

一组 Java 代码生成器,包含 AutoValue、AutoFactory、AutoService 等注解处理工具。

Star
10,560
Fork
1,227
未关闭 Issue
88
最近提交
23小时前

这是什么?

Auto 是一组面向 Java 的源代码生成器,用于自动化那些机械、重复又容易出错的编码工作。每个子项目都以注解处理器的形式在编译期运行,生成你原本需要手写的 Java 源码。

AutoValue 为 Java 8 及以上版本生成不可变值类型类;AutoFactory 生成兼容 JSR-330 的工厂类;AutoService 生成 ServiceLoader 所需的服务提供者配置文件;Common 则提供编写注解处理器时常用的辅助工具。

各子项目分别发布到 Maven Central,可以只在构建中引入需要的生成器。

核心功能

  • 01AutoValue 为 Java 8+ 生成不可变值类。
  • 02AutoFactory 生成兼容 JSR-330 的工厂类。
  • 03AutoService 自动生成 ServiceLoader 的服务配置文件。
  • 04Common 提供编写注解处理器的辅助工具。
  • 05各子项目可单独通过 Maven Central 引入。

适用场景

  • 为不可变数据类替代手写的 equals、hashCode 和 builder 样板代码。
  • 基于 JSR-330 注解生成注入依赖的工厂类。
  • 无需手动编辑 META-INF 文件即可为 ServiceLoader 注册服务实现。
  • 基于共享辅助工具开发自定义注解处理器。

标签

#java#code-generation#annotation-processing#immutable#dependency-injection#maven

常见问题

auto 是什么?
一组 Java 代码生成器,包含 AutoValue、AutoFactory、AutoService 等注解处理工具。 Auto 是一组面向 Java 的源代码生成器,用于自动化那些机械、重复又容易出错的编码工作。每个子项目都以注解处理器的形式在编译期运行,生成你原本需要手写的 Java 源码。
auto 可以免费使用吗?用的什么许可证?
auto 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
auto 还在维护吗?
活跃维护中。auto 最近一次提交是在 2026年11月6日。
auto 适合用来做什么?
为不可变数据类替代手写的 equals、hashCode 和 builder 样板代码。 基于 JSR-330 注解生成注入依赖的工厂类。 无需手动编辑 META-INF 文件即可为 ServiceLoader 注册服务实现。 基于共享辅助工具开发自定义注解处理器。
在哪里获取 auto?
源代码和安装说明在 GitHub 上:https://github.com/google/auto

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目