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 |