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() {
        //...
    }
  • 相关阅读:
    记一次网站迁移的过程
    如何才能搜索微信群和网盘群
    2021最新车载u盘歌曲集合,每轴更新。想要拉你入群
    工具分享:目录生成器
    福利,剪映PC版来了~ 支持windos系统和苹果系统
    微信8.0来了,可以加1w人好友,微商必看!!!
    centOS7安装 redis server
    Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)')
    《More Effective C++》读书笔记(下)
    《More Effective C++》读书笔记(中)
  • 原文地址:https://www.cnblogs.com/clarino/p/15481994.html
Copyright © 2011-2022 走看看