编程语言
首页 > 编程语言> > 如何使用main方法访问Spring Boot应用程序中application.properties文件中的值

如何使用main方法访问Spring Boot应用程序中application.properties文件中的值

作者:互联网

我在src / main / resources文件夹中有一个application.properties.
它有一个属性

username=myname

我上课了

public class A
{
    @Value("${username}")
    private String username;

    public void printUsername()
    {
       System.out.println(username);
    }
}

当我在我的main方法中调用printusername函数时,如下所示

public static void main(String[] args) 
{
    A object=new A();
    object.printUsername();
}

它打印为null.
请有人告诉我我错过了什么?

解决方法:

@Autowired的@Value注释仅在您的类由Spring IoC容器实例化时才有效.

尝试使用@Component注释来注释您的类:

@Component
public class A
{
    @Value("${username}")
    private String username;

    public void printUsername()
    {
       System.out.println(username);
    }
}

然后在你的runnable类中:

public class RunnableClass {

    private static A object;

    @Autowired
    public void setA(A object){
        RunnableClass.object = object;
    }

    public static void main(String[] args) 
    {
        object.printUsername();
    }

}

这种方式应该工作……

标签:java,spring,spring-boot-2,properties-file
来源: https://codeday.me/bug/20190608/1196785.html