在您的情况下,不需要使用
@EnableConfigurationProperties
. 你可以把
@Configuration
在里面
S3ConfigurationProperties
:
@Configuration
@ConfigurationProperties(prefix = "s3")
public class S3ConfigurationProperties {
private String bucketName;
//getter and setter
}
所以,现在你可以把它注入
LocalS3Configuration
:
@Profile("local")
@Configuration
public class LocalS3Configuration {
@Autowired
private S3ConfigurationProperties properties;
@Value(("${s3.bucketName}"))
private String bucketName;
@Bean(destroyMethod = "shutdown")
public AmazonS3 amazonS3() {
final String bucketInjectedToMethod = bucketName;
final String bucketInjectedViaProperties = properties.getBucketName();
...
}
}
注释
@配置
将类注册为bean并允许您将其注入另一个bean。