全部产品
云市场

获取配置

更新时间:2019-09-20 17:49:32

SOFABoot 中获取配置信息的方式与标准 Spring Boot 相同,可使用如下两种方式获取配置信息:

  • 通过 @Autowired 注解加载对应的配置属性
  • 通过 @Value 注解加载对应的配置属性

说明:这两种是常用的静态注解配置方法,配置修改后需要重启应用服务。如果应用要求长期稳定运行,推荐使用 SOFA 微服务中间件提供的动态配置,无需重启应用服务即可完成修改,更多信息可参考 开始使用动态配置 > 使用注解标识配置类

通过 @Autowired 注解加载对应的配置属性

org.springframework.core.env.Environment 类型的 bean 在框架启动过程中自动创建,用于存放当前的系统配置。当需要使用系统配置时,只需要在需要获取配置的 Spring Bean 中使用 @Autowired 注解即可。示例如下:

  1. @Component
  2. public class AppConfig {
  3. @Autowired
  4. private Environment environment;
  5. public String getEnvFirstConfigValue() {
  6. return environment.getProperty("app.config.first");
  7. }
  8. }

如上所示,假设在 application.properties 中已配置一个自定义配置项 app.config.first=FirstConfig,通过注入这个类型 org.springframework.core.env.Environment 的 bean 就可以通过它获取系统配置,获取属性的关键字就是配置在属性文件中的 app.config.first

通过 @Value 注解来加载对应的配置属性

通过 @Value 注解来加载对应的全局配置,只需要在需要获取配置的 Spring Bean 中使用 @Value("${属性_key}") 即可自动注入对应的全局属性。示例如下:

  1. @Component
  2. public class AppConfig {
  3. @Value("${app.config.first}")
  4. private String appConfigFirst;
  5. public String getAnnotationAppConfigFirst() {
  6. return appConfigFirst;
  7. }
  8. }

如上所示,假设在 application.properties 中已配置一个自定义配置项 app.config.first=FirstConfigAppConfig bean 为了获取此配置项,则需要在此 bean 中使用注解 @org.springframework.beans.factory.annotation.Value 并将这个注解的值设置为占位符 ${} + 属性关键字 app.config.first 的组合即可获取指定配置项 app.config.first 的值。