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;
}
我想使用 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;
}