使用依赖注入连接多个配置 类

Wire multiple config classes using dependency injection

我在 spring 中有工作配置 class。我尝试使用依赖注入通过配置映射替换硬编码字符串。

@Configuration
@Component
public class BwlConfiguration {

    @Resource(name="loadParameters")
    private Map<ConfigEnum, String> conf;

    private String address;

    public BwlConfiguration() {
        address = conf.get(SPI_BL);
    }
...
}

Class 提供配置映射:

@Configuration
@Component
public class ConfigLoader {

    @Resource(name="returnEnv")
    private Map<String, String> env;

    @Bean
    public Map<ConfigEnum, String> loadParameters() throws ParameterNotSetException{
        ....
        return parameterMap;
    }

Class 提供环境图:

@Configuration
public class EnvConf {


    @Bean
    public Map<String, String> returnEnv(){
        return System.getenv();
    }   
}

当我 运行 程序时,在 address = conf.get(SPI_BL); 行抛出 nullPointerException。我尝试用 @Import(...class) 替换 @Component,结果相同,但它失去了注入点。 我使用这些注释错了吗?谢谢

我将 BwlConfiguration 中的构造函数替换为:

@Bean
public String address(){
    return conf.get(SPI_BL);
}