Spring核心注解归类如下:
| Spring注解 | 使用场景 | 启始版本 |
| 模式注解 | ||
| @Repository | 数据仓储模式注解 | Spring Framework 2.0 |
| @Component | 通用组件模式注解 | Spring Framework 2.5 |
| @Service | 服务模式注解 | Spring Framework 2.5 |
| @Controller | Web控制器模式注解 | Spring Framework 2.5 |
| @Configuration | 配置类模式注解 | Spring Framework 3.0 |
| 装配注解 | ||
| @ImportResource | 替换XML元素<import> | Spring Framework 2.5 |
| @Import | 限定@Autowired依赖注入范围(导入对应的 @Configuration 标识类) | Spring Framework 3.0 |
| @ComponentScan | 扫描制定package下标注Spring模式注解的类 | Spring Framework 3.1 |
| 依赖注入注解 | ||
| @Autowired | Bean依赖注入,支持多种依赖查找方式 | Spring Framework 2.5 |
| @Qualifier | 细粒度的@Autowired依赖查找方式 | Spring Framework 2.5 |
| @Resource [JAVA注解] | Bean依赖注入,仅支持名称依赖查找方式 | Spring Framework 2.5 |
| Bean定义注解 | ||
| @Bean | 替换XML元素<bean/> | Spring Framework 3.0 |
| @DependsOn | 替换XML属性<bean depends-on="..."/> | Spring Framework 3.0 |
| @Lazy | 替代XML属性<bean lazy-init="true|false"/> | Spring Framework 3.0 |
| @Primary | 替换XML属性<bean primary="true|false"/> | Spring Framework 3.0 |
| @Role | 替换XML属性<bean role="..."/> | Spring Framework 3.1 |
| @Lookup | 替代XML属性<bean lookup-method="..."/> | Spring Framework 4.1 |
| 条件装配注解 | ||
| @Profile | 配置化条件装配 | Spring Framework 3.1 |
| @Conditional | 编程条件装配 | Spring Framework 4.0 |
| 配置属性注解 | ||
| @PropertySource | 配置属性抽象PropertySource注解 | Spring Framework 3.1 |
| @PropertySources | @PropertySource集合注解(实现 JAVA 8 @Repeatable相似的功能) | Spring Framework 4.0 |
| 生命周期回调注解 | ||
| @PostConstruct | 替换XML元素<bean init-method="..."/>或InitializingBean | Spring Framework 2.5 |
| @PreDestory | 替换XML元素<bean destory-method="..."/>或 DisposableBean | Spring Framework 2.5 |
| 注解属性注解 | ||
| @AliasFor | 别名注解属性,实现复用的目的 | Spring Framework 4.2 |
| 性能注解 | ||
| @Indexed | 提升Spring模式注解的扫描效率(编译时会在classPath下生成 META-INF/spring.components文件) | Spring Framework 5.0 |
