@ConfigurationPropertie 不工作 Spring 引导

@ConfigurationPropertie not working Spring Boot

这是我的 application.properies...

extract.magoo=tony

我正在尝试读入。

@Component
@ConfigurationProperties("extract")
public class ApplicationProperties {
    ...
    String magoo;

    @Autowired
    private Environment env;   

    @PostConstruct
    public void validate() {
         System.out.println("******* magoo=" + magoo);
         System.out.println("**** " + env.getProperty("extract.magoo"));
    }

将输出:

******* magoo=null
**** null
**** tony

所以 class 上的 属性 magoo 永远不会被注入。但是我可以从环境 bean 中获取值。所以这意味着它正在读取 application.properties。

配置中的注释 class,我添加了 @EnableConfigurationProperties 注释。

@Configuration
@EnableConfigurationProperties(ApplicationProperties.class)
public class ExtractToolConfiguration {
...
}

谢谢

您必须通过在 @Configuration class 上添加 @EnableConfigurationProperties 来启用 @ConfigurationProperties。那么

@ConfigurationProperties(prefix="extract")
public class ApplicationProperties {
  String magoo;
  public void setMagoo(String magoo){
    this.magoo = magoo;
  }
}

您还需要 setter.