SpringBoot 常用注解 – Spring Boot 注解
摘自:https://mp.weixin.qq/s/dWIO1bfmMhVWo1ZPVIS09Q
@SpringBootApplication
说明:
@SpringBootApplication注解是一个快捷的配置注解,在被它标注的类中,可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件。此注解相当于@Configuration、@EnableAutoConfiguration和@ComponentScan的组合。
示例:
@SpringBootApplication
public class Application{
public static void main(String [] args){
SpringApplication.run(Application.class,args);
}
}
@EnableAutoConfiguration
说明:
@EnableAutoConfiguration注解用于通知Spring,根据当前类路径下引入的依赖包,自动配置与这些依赖包相关的配置项。
@ConditionalOnClass与@ConditionalOnMissingClass
说明:
这两个注解属于类条件注解,它们根据是否存在某个类作为判断依据来决定是否要执行某些配置。
示例:
@Configuration
@ConditionalOnClass(DataSource.class)
class MySQLAutoConfiguration {
//...
}
@ConditionalOnBean与@ConditionalOnMissingBean
说明:
这两个注解属于对象条件注解,根据是否存在某个对象作为依据来决定是否要执行某些配置方法。
示例:
@Bean
@ConditionalOnBean(name="dataSource")
LocalContainerEntityManagerFactoryBean entityManagerFactory(){
//...
}
@Bean
@ConditionalOnMissingBean
public MyBean myBean(){
//...
}
@ConditionalOnProperty
说明:
@ConditionalOnProperty注解会根据Spring配置文件中的配置项是否满足配置要求,从而决定是否要执行被其标注的方法。
示例:
@Bean
@ConditionalOnProperty(name="alipay",havingValue="on")
Alipay alipay(){
return new Alipay();
}
@ConditionalOnResource
说明:
此注解用于检测当某个配置文件存在使,则触发被其标注的方法
示例:
@ConditionalOnResource(resources = "classpath:website.properties")
Properties addWebsiteProperties(){
//...
}
@ConditionalOnWebApplication与@ConditionalOnNotWebApplication
说明:
这两个注解用于判断当前的应用程序是否是Web应用程序。如果当前应用是Web应用程序,则使用Spring WebApplicationContext,并定义其会话的生命周期。
示例:
@ConditionalOnWebApplication
HealthCheckController healthCheckController(){
//...
}
@ConditionalExpression
说明:
此注解可以让我们控制更细粒度的基于表达式的配置条件限制。当表达式满足某个条件或者表达式为真的时候,将会执行被此注解标注的方法。
示例:
@Bean
@ConditionalException("${localstore} && ${local == 'true'}")
LocalFileStore store(){
//...
}
@Conditional
说明:
@Conditional注解可以控制更为复杂的配置条件。在Spring内置的条件控制注解不满足应用需求的时候,可以使用此注解定义自定义的控制条件,以达到自定义的要求。
示例:
@Conditioanl(CustomConditioanl.class)
CustomProperties addCustomProperties(){
//...
}
更多推荐
SpringBoot 常用注解 -- Spring Boot 注解
发布评论