Spring @Autowire字段基于@Profile

时间:2016-03-25 15:26:51

标签: spring spring-profiles

我需要根据@XmlRootElement(name = "wsVerifyFlResidency") 属性自动装配字段。 该服务仅基于配置文件创建,但由于服务在其他类中自动装配,因此我无法使用@Profile注释。

有没有办法根据个人资料自动装配字段。

1 个答案:

答案 0 :(得分:3)

您可以为每个配置文件创建不同的服务实现。

在下面的示例中,我使用mockito来模拟dataSource bean

实施例

 @Configuration
    @ComponentScan
    class YourConfig {

        @Profile("production")
        @Qualifier("datasource")
        @Bean
        public DataSource dataSourceProduction(){
           return new DataSourceProduction()
        }

        @Profile("development")
        @Qualifier("datasource")
        @Bean
        public DataSource dataSourceDevelopment(){
           return mock(DataSourceProduction.class);
        }