Amazon S3的Spring MVC xml文件所需的Bean

时间:2018-06-21 19:34:30

标签: spring spring-mvc amazon-s3

对于这种基于Java的相同配置,xml文件中的bean应该是什么?

@Configuration      
@ComponentScan(basePackageClasses = Application.class, excludeFilters = @Filter({Controller.class, Configuration.class}))
public class ApplicationConfig {    
    @Value("${aws_access_key_id}")
    private String awsId;

    @Value("${aws_secret_access_key}")
    private String awsKey;

    @Bean
    public static PropertyPlaceholderConfigurer propertyPlaceholderConfigurer() {
        PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
        ppc.setLocations(new Resource[] {
            new ClassPathResource("/amazon.properties")
        });
        return ppc;
    }

    @Bean
    public AWSCredentials credential() {
        return new BasicAWSCredentials(awsId, awsKey);    
    }

    @Bean
    public AmazonS3 s3client() {
        return new AmazonS3Client(credential()); 
    }
}

1 个答案:

答案 0 :(得分:0)

<context:property-placeholder
        ignore-resource-not-found="true" ignore-unresolvable="true"
        system-properties-mode="OVERRIDE" order="0"
        location="classpath:amazon.properties"/>


<bean id="credential" class="com.amazonaws.auth.BasicAWSCredentials">
    <constructor-arg name="accessKey" value="${aws_access_key_id}"/>
    <constructor-arg name="secretKey" value="${aws_secret_access_key}"/>
</bean>

<bean id="s3client" class="com.amazonaws.services.s3.AmazonS3Client">
    <constructor-arg ref="credential"/>
</bean>