文章目录
springboot注解
springboot中取消了大部分的xml配置,以及进行了很多的默认配置,取而代之的就是注解,所以在一个springboot项目中需要大量的使用注解
@SpringBootApplication注解
这个注解如果没见过,那么可能是没用过springboot的朋友,这个注解是用来标注springboot项目的,是一个组合注解,由三个注解组成
@SpringBootConfiguration // 这个注解就是个套了层壳子的@Configuration
@EnableAutoConfiguration// 开启自动配置的注解,使用该注解之后,springboot就会根据当前类路径下的包或者类来配置springbean,扫描各个xxxAutoConfiguration类
@ComponentScan // 组件扫描,这个在spring中就已经有了
关闭指定的自动配置
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@ConditionalOnxxx注解
这个注解就是spring中@Conditional注解的变种,有 @ConditionalOnBean (容器中存在该bean才开启配置)、 @ConditionalOnClass (容器中有该指定类才开启配置)、 @ConditionalOnMissingBean (容器中没有该指定bean才开启配置)、 @ConditionalOnMissingClass (容器中没有该指定类才开启配置)、 @ConditionalOnWebApplication (是web应用才开启配置)、 @ConditionalOnNotWebApplication (不是web应用才开启配置)、 @ConditionalOnProperty (指定属性为指定值才开启配置)、 @ConditionalOnExpression (该spel表达式为true才开启配置)、 @ConditionalOnJava (运行在指定的java版本范围内才开启配置)、 @ConditionalOnResource (类路径下存在指定资源才开启配置)、 @ConditionalOnJndi (指定的JNDI存在时才开启配置)、 @ConditionalOnCloudPlatform (运行在指定云平台才开启配置)、 @ConditionalOnSingleCandidate (指定的class在容器中只有一个bean或者存在多个但是有一个primary首选时才开启配置)
@ConfigurationProperties注解
有时候除了spring框架中的固定配置,还需要自己自定义加载额外的配置,可以在配置类上添加 @ConfigurationProperties 注解来进行指定,不过在使用时要使用 @EnableConfigurationProperties 注解来开启对于**@ConfigurationProperties**注解的支持
@AutoConfigureBefore和@AutoConfigureAfter注解
对于众多的自动配置类,有些自动配置类是需要先后关系的,此时可以使用@AutoConfigureBefore和@AutoConfigureAfter注解来进行自动配置类先后关系的控制,@AutoConfigureBefore注解用在自动配置类型上,表示该自动配置类需要在指定的自动配置类之前进行自动配置;而@AutoConfigureAfter注解用在自动配置类型上,表示该自动配置类需要在指定的自动配置类之后进行自动配置
参考文献