java - @ConditionalOnProperty : does it have an impact only on annotation specified below?

标签 java spring spring-boot annotations

假设我们有以下代码:

@SpringBootApplication
@ConditionalOnProperty(value = "scheduling.enable")
@EnableScheduling
@EnableCaching
public class AcmeServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(AcmeServiceApplication.class, args);
    }
}

@ConditionalOnProperty 注解是否只会启用\禁用@EnableScheduling,还是也会对@EnableCaching产生影响?

在文档中没有找到答案。

最佳答案

@SpringBootApplication 上的

@ConditionalOnProperty 没有任何意义,不会被处理。无论 scheduling.enable 属性是否存在,都会应用 @EnableScheduling@EnableCaching

Andy Wilkinson explained @ConditionalOnProperty@Configuration@Bean 目标的目标。 @SpringBootApplication 完全是另一回事。

关于java - @ConditionalOnProperty : does it have an impact only on annotation specified below?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345463/

相关文章:

spring - 如何在 Tomcat 上使用 JPA、Hibernate 和 Spring 避免类加载器泄漏

spring - log4j2 中 xwEx 的含义?

Java线程正在重复 Swing 形式

java - Spring Kafka - 在运行时订阅新主题

java - 如何理解AQS上的 "unparkSuccessor"函数

java - spring-XD 不读取 logback.xml

java - Spring Boot自定义错误页面在部署在外部容器中时不起作用

spring-boot - 如果我使用 @EnableAutoConfiguration,IntelliJ 无法 Autowiring @ServiceActivator 方法中的参数

java - 从 cli 接受进程启动时的参数

java - 无法在 android 中获取 Advertising ID Provider