我的Spring-Boot
应用程序中有2个类:
-Tasks
-Runner
run类包含我的main
方法,我尝试从Tasks类调用方法:
转轮:
@Component
public class Runner {
Tasks tasks;
@Autowired
public void setTasks(Tasks tasks){
this.tasks=tasks;
}
public static void main(String[] args){
//error being caused by below line
tasks.createTaskList();
}
任务类:
@Service
public class Tasks {
public void createTaskList() {
//my code
}
//other methods
}
在我的Runner中,当我尝试在Tasks类中调用createTaskList()方法时,我收到以下错误:
Non static field 'tasks' cannot be referenced from a static context
我该如何解决这个问题?
答案 0 :(得分:3)
主要方法是static
,意味着它属于类而不是某个对象。因此,静态上下文不能引用实例变量,因为如果有一个实例变量,它就不会知道它将使用哪个Runner
实例。
简而言之,解决方案是在Tasks
课程中制作static
对象Runner
。