Spring 云 aws 依赖对 属性 注入的影响

Spring cloud aws dependency effect on property injection

我想使用 spring 云连接 AWS。

这是 myconfig 的一部分 class :

@EnableSqs
public class AwsCloudConfig {

    @Value("${cloud.aws.region}")
    private String region;

    @Value("${cloud.aws.profile}")
    private String profile;

    @Value("${cloud.aws.roleArn}")
    private String role;

    @Value("${cloud.aws.user}")
    private String userKey;

    @Value("${cloud.aws.credentials.accessKey}")
    private String accessKey;

    @Value("${cloud.aws.credentials.secretKey}")
    private String secretKey;

    //... 

}

通常 Spring 从我的属性文件中注入这些属性没有任何问题。

但它不会在我添加此依赖项时注入它们:

org.springframework.cloud:spring-cloud-starter-aws-messaging

为什么这种依赖性会影响 springs 属性 注入功能? 有什么想法吗?

你能这样试试吗?

 @Bean
public AmazonS3 amazonS3(@Value("${cloud.aws.credentials.accessKey}") String accessKey,
                         @Value("${cloud.aws.credentials.secretKey}") String secretKey,
                         @Value("${cloud.aws.region}") String region) {
    AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
    AmazonS3 amazonS3ClientBuilder= AmazonS3ClientBuilder.standard()
            .withRegion(region)
            .withCredentials(new AWSStaticCredentialsProvider(credentials))
            .build();
    return amazonS3ClientBuilder;
}