java - 关闭 Spring Boot AWS 自动配置

标签 java spring-boot spring-cloud-aws

我正在使用 spring-cloud-aws-autoconfigure:2.1.0.RELEASE 连接到 AWS。但是,当应用程序在 AWS 以外的环境中运行时,我不希望进行自动配置。

我尝试按照建议关闭自动配置 herehere使用 java 配置类,以及我的 yml 文件中的 spring.autoconfigure.excludes 属性,如下所示:

spring:
  autoconfigure:
    exclude:
      - org.springframework.cloud.aws.autoconfigure.context.ContextCredentialsAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextInstanceDataAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.messaging.MessagingAutoConfiguration

但这些解决方案似乎都不起作用。自动配置仍然发生,因此应用程序无法启动。

最佳答案

找到了解决方案:我将其直接添加到我的主应用程序类中:

import org.springframework.cloud.aws.autoconfigure.context.*;

@SpringBootApplication
@EnableAutoConfiguration(exclude = {
        ContextCredentialsAutoConfiguration.class,
        ContextInstanceDataAutoConfiguration.class,
        ContextRegionProviderAutoConfiguration.class,
        ContextResourceLoaderAutoConfiguration.class,
        ContextStackAutoConfiguration.class,
        MailSenderAutoConfiguration.class,
})
public class MyApplication {

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

}

关于java - 关闭 Spring Boot AWS 自动配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54770577/

相关文章:

Java - 循环访问类的实例,而不是为每个单独的实例调用方法

java - 启动时的 JPA 自定义脚本

java - input.read() 函数。锁定 while 循环

java - Spring Boot 未将系统环境变量加载到 application.properties 中

java - Spring启动示例: Can't access reSTLet from browser

java - <aws-messaging :annotation-driven-queue-listener/>? 的基于 Java 的配置版本是什么

java - 使用@SqsListener 注释为 FIFO 配置消息组 ID

java - Swing 不遵守我的 GridLayout Rows x Columns 定义。怎么修?

spring-boot - Spring Boot节俭

spring - 如何使用 Spring Cloud AWS 从 S3 删除文件?