我正在使用Spring Boot,我想从resources/application.properties文件中读取一个文件路径,并将其值设置为Java类中的String:
资源/应用程序属性
mypath=dir/file.ext
资源/应用程序上下文.xml
<context:property-placeholder location="classpath:application.properties" />
MyJavaClass.java
@Component
public class MyJavaClass{
@Value("${mypath}")
String mypath;
public void printme(){
System.err.println(mypath);
}
}
当我尝试打印字符串时,它总是打印"null"。我做错了什么?谢谢
资源文件夹在类路径中吗?如果不尝试这样的
<bean id="propertyLoader" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:application.properties</value>
</property>
</bean>
我假设您的属性文件与它所引用的配置文件位于同一位置。
最后我解决了这个问题。我试图使用来自"main"线程(执行main函数代码的线程)的值注释。
例如,如果我从服务的代码中获得值,它会非常有效。