java - 即使未在 Spring Boot 配置文件中指定,也会在 Spring Boot 中加载方法

标签 java spring spring-boot spring-scheduled spring-profiles

我不想在本地 Spring 配置文件中加载一个方法。方法是

@Profile("prod")
@Scheduled(initialDelay = 1000, fixedDelay = 21600000)
public void updateHackalistHackathonData() {
...
}

我在同一位置创建了 application.properties'application-local.properties'application-prod.properties 文件src/java/resources。在 application.properties 中,我提到了 spring.profiles.active=local

但是,这个预定方法仍然会执行。我该如何阻止这个?

最佳答案

您需要在类(bean)定义而不是方法本身上添加@Profile("prod")注释。例如:

@Component
@Profile("prod")
public class HackatonScheduler{
    @Scheduled(initialDelay = 1000, fixedDelay = 21600000)
    public void updateHackalistHackathonData() {
        ...
    }
}

关于java - 即使未在 Spring Boot 配置文件中指定,也会在 Spring Boot 中加载方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41779673/

相关文章:

java - spring rest 模板中的 mime 类型无效?

java - Spring JDBC + Postgres SQL + Java 8 - 从/到 LocalDate 的转换

java - Spring Boot 导入的目的,然后排除模式?

java - Android - 从 Intent 过滤器解析短网址

java - 如何在 Spring MVC 表单中拥有多个按钮并相应地对待它们?

java - 需要帮助用 Java 解析文件

java - 重写 java.io.FileOutputStream 方法

spring - spring 使用hibernate 的正确方法是什么

spring-mvc - 无法在测试类中 Autowiring bean

java - spring boot hibernate启动慢