使用依赖注入连接多个配置 类
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);
}
我在 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);
}