元编程的实际使用

Practical use of metaprogramming

我开始学习元编程。到目前为止,我用它来读取 Java 中的注释并根据给定的 class 创建 sql 语句,但我没有看到它有任何实际用途。能否举例说明您在程序中的哪些地方以及如何使用它?

注释要识别为单元测试的方法。

import static org.junit.jupiter.api.Assertions.assertEquals;
import example.util.Calculator;
import org.junit.jupiter.api.Test;

class MyFirstJUnitJupiterTests {

    private final Calculator calculator = new Calculator();

    @Test
    void addition() {
        assertEquals(2, calculator.add(1, 1));
    }
}

请注意,此处的注释 @Test 作为标志存在。当测试运行器启动时,它会为带注释的方法注册一个侦听器,如果它遇到用 Test 注释接口注释的带注释的方法,它将在 "list of tests to run"[=14= 中注册该测试]

有关详细信息,请参阅 https://junit.org/junit5/docs/current/user-guide/

野外有很多注解的例子。这只是其中之一。