Java Annotation(注解)
Annotation 是 Java 5 引入的语言特性,中文一般叫注解。它提供了一种类似注释的机制,用来将元数据(metadata)与程序元素(类、方法、成员变量等)关联起来。 更通俗地说,注解为程序元素加上与业务逻辑无关的说明信息,供框架或工具在编译期、类加载期或运行期读取和处理。注解本身不会改变程序的执行逻辑;JVM 执行字节码时会忽略注解,只有通过反射或注解处理器才能访问其中的信息。 框架中的注解(以 Spring 为例) JDK 5 提供的是 语言机制(@interface、@Retention、反射 API);框架上的 @Autowired、@Controller 等是 框架用 @interface 自定义的注解,不是 JDK 内置。容器在启动时扫描类路径、读取注解元数据,再决定注册哪些 Bean、如何注入、如何映射 URL。 时期 典型配置方式 Spring 1.x(2004 起) 几乎全 XML(<bean>、<property>);不要求 JDK 5 Spring 2.5(2007) XML 骨架 + @Autowired、@Component / @Service、@Controller、@RequestMapping 等 Spring 3.0(2009) @Configuration + @Bean(Java Config),技术上可零 XML,但需手写各基础设施 Spring Boot(2014) 自动配置 + application.yml,常见场景几乎不用 XML 或大量 @Configuration 时间上有先后:JDK 5 GA(2004-09) 早于 Spring 大规模注解化(2006–2007);Spring 1.0(2004-03)发布时 JDK 5 尚未 GA,1.x 自然以 XML 为主。整体脉络见 Spring §与 JDK 5 注解的关系。 ...