我正在尝试设置我的 Spring 应用程序,以便.properties
根据配置文件读取不同的文件。我正在使用java配置,所以我想做的是:
@Autowired
private static Environment env;
@Bean
public static PropertySourcesPlaceholderConfigurer properties(){
PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
String[] profiles = env.getActiveProfiles();
String filestring = "environment."+profiles[0]+".properties";
ClassPathResource properties = new ClassPathResource( filestring );
Resource[] resources = new ClassPathResource[] { properties };
pspc.setLocations( resources );
return pspc;
}
但是,这env.getActiveProfiles()
给了我一个NullPointerException
,我认为这意味着尚未注入环境。有人知道我该如何解决这个问题吗?或者,如果这是愚蠢/不可能的,我怎么能做得更好?