如何使用主要方法在Spring Boot应用程序中访问application.properties文件中的值
问题描述:
我在src/main/resources文件夹中有一个application.properties文件。 它有一个属性如何使用主要方法在Spring Boot应用程序中访问application.properties文件中的值
username=myname
我有一个类
public class A
{
@Value("${username}")
private String username;
public void printUsername()
{
System.out.println(username);
}
}
当我打电话printusername功能在我的主要方法follws
public static void main(String[] args)
{
A object=new A();
object.printUsername();
}
它打印空。 请有人可以告诉我我错过了什么?
答
@Value
注释,如@Autowired
,仅在您的类由Spring IoC容器实例化时才有效。
尝试来注释类@Component
注释:
@Component
public class A
{
@Value("${username}")
private String username;
public void printUsername()
{
System.out.println(username);
}
}
然后在您运行的类:
public class RunnableClass {
private static A object;
@Autowired
public void setA(A object){
RunnableClass.object = object;
}
public static void main(String[] args)
{
object.printUsername();
}
}
这种方式应该工作...
+0
是的,这个作品 – Mohit
+0
是的它的作品。谢谢你.. –
马克'都变username'和'printUsername()'方法为'static'并尝试。我试过了 – harshavmb
。但没有工作 –