有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

注释在java中的内部工作方式

我知道如何创建自定义注释。但我无法理解它是如何在内部工作的。以弹簧注释为例

@PropertySource(value = { "classpath:database.properties" }). 

如果我们看到@PropertySource注释的内部细节

@Target({ java.lang.annotation.ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(PropertySources.class)
public @interface PropertySource {
    public abstract String name();

    public abstract String[] value();

    public abstract boolean ignoreResourceNotFound();
}

我们在这里没有提供任何用于加载属性文件的实现。 那么如何从类路径加载属性文件呢。谁在幕后工作


共 (1) 个答案

  1. # 1 楼答案

    非常简单:框架。就是这样。框架使用反射处理的所有“自定义”注释。编译器只处理小范围的注释,例如@Override@SuppressWarnings@Retention等等