Spring Boot「04」Annotations 01
简单地讲,Spring Boot 是 Spring 框架的扩展,它消除了使用 Spring 框架开发应用所需要的、大量的样板配置代码。Spring Boot 中最显著的就是其所谓的“自动化配置”功能。Spring Boot 项目追求的是快速、高效地开发,及完备的生态链。Spring Boot 的特性有:
通过各种 starter 依赖,简化构建过程和应用配置;
通过内置 Server(tomcat/jetty)来避免部署时的复杂性;
通过 auto configure 尽可能地自动配置 Spring 框架
Spring Boot 中的常用注解之一:@SpringBootApplication
。
注解@SpringBootApplication
等价于:@Configuration
+ @EnableAutoConfiguration
+ @ComponentScan
@EnableAutoConfiguration
注解的主要作用是开启自动化配置。开启以后,Spring Boot 会在 classpath 中查找所有所有的 auto-configuration beans,并应用它们。该标签必须与@Configuration
搭配使用。
条件化自动配置
本节涉及的注解,可以与@Configuration
或@Bean
一起使用。
@ConditionalOnClass
和@ConditionalOnMissingClass
,仅当传入注解中的参数在 classpath 中存在(或不存在)时,@Configuration
或@Bean
才生效。@ConditionalOnBean
和@ConditionalOnMissingBean
,仅当传入注解中的 bean 存在(或不存在)时,@Configuration
或@Bean
才生效@ConditionalOnProperty
,仅当某个 property 的值为特定值时,@Configuration
或@Bean
才生效
@ConditionalOnResource
,仅当某个资源(例如 classpath:application.properties)存在时,@Configuration
或@Bean
才生效
@ConditionalOnWebApplication
和@ConditionalOnNotWebApplication
,仅当应用是(或者不是)web 应用时,@Configuration
或@Bean
才生效
@ConditionalExpression
,仅当作为注解参数的 SpEL 表达式值为 true 时,@Configuration
或@Bean
才生效
@Conditional
,仅当作为参数指定的类(实现了Condition
接口)返回值为 true 时,@Configuration
或@Bean
才生效
版权声明: 本文为 InfoQ 作者【Samson】的原创文章。
原文链接:【http://xie.infoq.cn/article/ceed8b31772a95a0c8767583f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论