我有一个SpringBoot应用程序,我想从application.properties文件中读取一些变量。实际上,以下代码可以做到这一点。但是我认为有一种替代方法。
application.properties
Properties prop = new Properties(); InputStream input = null; try { input = new FileInputStream("config.properties"); prop.load(input); gMapReportUrl = prop.getProperty("gMapReportUrl"); } catch (IOException ex) { ex.printStackTrace(); } finally { ... }
您可以@PropertySource用来将配置外部化为属性文件。有很多方法可以获取属性:
@PropertySource
1.分配通过使用属性值的字段@Value与PropertySourcesPlaceholderConfigurer刚毅${}的@Value:
@Value
PropertySourcesPlaceholderConfigurer
${}
@Configuration @PropertySource("file:config.properties") public class ApplicationConfiguration { @Value("${gMapReportUrl}") private String gMapReportUrl; @Bean public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() { return new PropertySourcesPlaceholderConfigurer(); } }
2.通过使用获取属性值Environment:
Environment
@Configuration @PropertySource("file:config.properties") public class ApplicationConfiguration { @Autowired private Environment env; public void foo() { env.getProperty("gMapReportUrl"); } }
希望这可以帮助