Spring无法从属性文件读取

时间:2018-10-08 19:24:02

标签: spring properties

有一个用@Service注释的类,尝试使用值读取属性,该值始终为零

@Service
public class custom implements Conditional
{
@Value("${test.property}")
private boolean properttyValue;

}


#test.properties 
test.property= true

如果我在@Value中提供任何不存在的值,则会引发错误,表示已加载属性,

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是因为test.properties不在类路径中。如果您使用的是Spring Boot,请使用-Dspring.config.location指定外部配置。您可以通过以下方式进行操作

-Dspring.config.location=your/config/dir/
-Dspring.config.location=classpath:pro1.properties,classpath:prop2.properties

如果您不使用Spring Boot,可以使用

@Configuration
@PropertySource("classpath:test.properties")
public class PropertiesWithJavaConfig {
    //...
}

@Configuration
@PropertySource({ 
  "classpath:test.properties"
})
public class PropertiesWithJavaConfig {
    //...
}

对于外部文件,可以使用“ file:/”代替类路径,例如file:./,file:./config/