java – @Value在Spring @Configuration中不起作用

需要帮助,问题在哪里?

我有一个配置类,它正在加载属性

WebConfig.java

@Configuration
@PropertySource(value={"classpath:application.properties"})
class WebConfig extends WebMvcConfigurerAdapter{

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
       return new PropertySourcesPlaceholderConfigurer();
    }
}

我有另一个配置类,我试图使用属性

MyServerConfig.java

@Configuration
class MyServerConfig {

    @Value("${server.url}")
    private String url;
...
}

application.properties

server.url=http://localhost:8080/test/abc

但得到:

java.lang.IllegalArgumentException: Could not resolve placeholder ‘server.url’.

不知道这里缺少什么?有什么想法吗?

最佳答案 在将使用某个属性的类中使用@PropertyScan批注:

@Configuration
@PropertySource("classpath:application.properties")
class MyServerConfig {

    @Value( "${server.url}" )
    private String url;
}
点赞