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 |