zoukankan      html  css  js  c++  java
  • 【SpringBoot 注解】合集

    参考: https://www.baeldung.com/spring-boot-annotations

    @SpringBootApplication

    mark the main class of a Spring Boot application:

    @SpringBootApplication encapsulates @Configuration@EnableAutoConfiguration, and @ComponentScan annotations with their default attributes.

    @EnableAutoConfiguration

    @EnableAutoConfiguration enables auto-configuration. It means that Spring Boot looks for auto-configuration beans on its classpath and automatically applies them.

    we have to use this annotation with @Configuration:

    @Configuration
    @EnableAutoConfiguration
    class VehicleFactoryConfig {}

    Auto-Configuration Conditions

    when we write our custom auto-configurations, we want Spring to use them conditionally. We can place the annotations in this section on @Configuration classes or @Bean methods.

    @ConditionalOnClass and @ConditionalOnMissingClass

    Using these conditions, Spring will only use the marked auto-configuration bean if the class in the annotation's argument is present/absent:

    @Configuration
    @ConditionalOnClass(DataSource.class)
    class MySQLAutoconfiguration {
        //...
    }

    @ConditionalOnBean and @ConditionalOnMissingBean

    @Bean
    @ConditionalOnBean(name = "dataSource")
    LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        // ...
    }

    @ConditionalOnProperty

    @Bean
    @ConditionalOnProperty(
        name = "usemysql", 
        havingValue = "local"
    )
    DataSource dataSource() {
        // ...
    }

    @ConditionalOnResource

    @ConditionalOnResource(resources = "classpath:mysql.properties")
    Properties additionalProperties() {
        // ...
    }

    @ConditionalOnWebApplication and @ConditionalOnNotWebApplication

    @ConditionalOnWebApplication
    HealthCheckController healthCheckController() {
        // ...
    }

    @ConditionalExpression

    @Bean
    @ConditionalOnExpression("${usemysql} && ${mysqlserver == 'local'}")
    DataSource dataSource() {
        // ...
    }

    @Conditional

     we can create a class evaluating the custom condition. We tell Spring to use this custom condition with @Conditional:

    @Conditional(HibernateCondition.class)
    Properties additionalProperties() {
        //...
    }
  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/clarino/p/15481994.html
Copyright © 2011-2022 走看看