当前位置: 首页 > Web前端 > JavaScript

SpringBoot的25个核心注解,全是干货!

时间:2023-03-26 22:55:39 JavaScript

SpringBoot的25个核心注解1.@SpringBootApplication这是SpringBoot最核心的注解。它用在SpringBoot的主类上,用于识别这是一个SpringBoot应用,用于打开各种SpringBoot应用。能力。其实这个注解是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan的组合。这三个注解也可以用来代替@SpringBootApplication注解。2.@EnableAutoConfiguration允许SpringBoot自动配置注解。启用该注解后,SpringBoot可以根据当前classpath下的包或类来配置SpringBeans。比如当前classpath下有Mybatis的JAR包,MybatisAutoConfiguration注解可以根据相关参数配置Mybatis的各个SpringBean。3.@Configuration这是Spring3.0添加的注解,用于替换applicationContext.xml配置文件。所有在这个配置文件中可以做的事情,都可以通过这个注解所在的类来注册。4、@SpringBootConfiguration注解是@Configuration注解的变体,只用于修改SpringBoot的配置,也可以对SpringBoot后续的扩展有所帮助。5.@ComponentScan这是Spring3.1新增的注解,用于替换配置文件中的component-scan配置,开启组件扫描,即自动扫描包路径下的@Component注解注册bean实例进入上下文。6、@Conditional这是Spring4.0新增的注解,用于标识一个SpringBean或Configuration配置文件,只有满足指定条件时才启用配置。7、@ConditionalOnBean与@Conditional注解结合,只有当容器中有指定的Bean时才启用配置。8、@ConditionalOnMissingBean结合了@Conditional注解,与@ConditionalOnBean注解相反,只有当容器中没有指定的Bean时才启用配置。9、@ConditionalOnClass结合@Conditional注解,只有当容器中有指定的Class时才启用配置。10、@ConditionalOnMissingClass结合了@Conditional注解,与@ConditionalOnMissingClass注解相反,只有在容器中没有指定Class时才启用配置。11、@ConditionalOnWebApplication结合@Conditional注解,当前项目类型为WEB项目开启配置。当前项目有以下3种类型。enumType{/***任何网络应用程序都会匹配。*/ANY,/***只有基于servlet的Web应用程序才会匹配。*/SERVLET,/***只有基于响应的Web应用程序才会匹配。*/REACTIVE}12.@ConditionalOnNotWebApplication结合@Conditional注解。与@ConditionalOnWebApplication注解相反,配置只有在当前项目类型不是WEB项目时才启用。13、@ConditionalOnProperty结合@Conditional注解,在指定属性有指定值时启用配置。14、@ConditionalOnExpression与@Conditional注解结合,只有当SpEL表达式为真时才启用配置。15、@ConditionalOnJava结合@Conditional注解,当运行的JavaJVM在指定的版本范围内时启用配置。16、@ConditionalOnResource与@Conditional注解结合,只有在classpath下有指定资源时才启用配置。17、@ConditionalOnJndi结合@Conditional注解,只有当指定的JNDI存在时才启用配置。18、@ConditionalOnCloudPlatform结合@Conditional注解,只有在指定的云平台激活时才启用配置。19、@ConditionalOnSingleCandidate结合@Conditional注解,仅当指定类容器中只有一个Bean,或者同时有多个但首选时才启用配置。20、@ConfigurationProperties用于加载额外的配置(如.properties文件),可以用在@Configuration注解类或@Bean注解方法上。关于这个注解的用法,可以参考这篇文章《Spring Boot读取配置的几种方式》。21、@EnableConfigurationProperties一般与@ConfigurationProperties注解结合使用,开启对@ConfigurationProperties注解配置bean的支持。22、@AutoConfigureAfter用在自动配置类上,表示在配置了其他指定的自动配置类之后,需要配置自动配置类。比如Mybatis的自动配置类需要在数据源自动配置类之后。@AutoConfigureAfter(DataSourceAutoConfiguration.class)publicclassMybatisAutoConfiguration{23,@AutoConfigureBefore这个和@AutoConfigureAfter注解相反,表示这个自动配置类需要在另一个指定的自动配置类之前配置。24.@Import这是Spring3.0新增的一个注解,用于导入一个或多个用@Configuration注解修饰的类,在SpringBoot中应用较多。25.@ImportResource这是Spring3.0新增的注解,用于导入一个或多个Spring配置文件。这对于兼容SpringBoot的老项目非常有用,因为有些配置无法以JavaConfig的形式进行配置,只能使用这个Annotations来导入。最后,如果您觉得这篇文章对您有点帮助,请点个赞。或者可以加入我的开发交流群:1025263163互相学习,我们会有专业的技术解答。如果您觉得这篇文章对您有用,请给我们的开源项目一个小星星:https://gitee。com/ZhongBangKe...非常感谢!JAVA学习手册:https://doc.crmeb.com技术交流论坛:https://q.crmeb.com