繁体   English   中英

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

[英]How to access a value in the application.properties file in Spring Boot app with main method

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

username=myname

我有一堂课

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

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

当我在以下主要方法中调用printusername函数时

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

它输出null。 请有人可以告诉我我错过了什么?

@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();
    }

}

这种方式应该起作用...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM