0%

springboot注解

springboot注解

springboot中取消了大部分的xml配置,以及进行了很多的默认配置,取而代之的就是注解,所以在一个springboot项目中需要大量的使用注解

@SpringBootApplication注解

这个注解如果没见过,那么可能是没用过springboot的朋友,这个注解是用来标注springboot项目的,是一个组合注解,由三个注解组成

1
2
3
@SpringBootConfiguration // 这个注解就是个套了层壳子的@Configuration
@EnableAutoConfiguration// 开启自动配置的注解,使用该注解之后,springboot就会根据当前类路径下的包或者类来配置springbean,扫描各个xxxAutoConfiguration类
@ComponentScan // 组件扫描,这个在spring中就已经有了

@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注解用在自动配置类型上,表示该自动配置类需要在指定的自动配置类之后进行自动配置