2
我有兩個班在我Spring-Boot
應用:非靜態字段不能從靜態上下文Main方法中引用
-Tasks
-Runner
亞軍類包含我main
方法在哪裏試圖從我的任務類調用一個方法:
亞軍:
個@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
}
在我的亞軍,當我嘗試調用任務類,我得到了以下錯誤createTaskList()方法:
Non static field 'tasks' cannot be referenced from a static context
如何我解決這個問題?
@ElliotFrisch,那篇文章沒有完全回答OP的問題。由於它是一個彈簧引導應用程序,因此OP不能僅僅因爲涉及注入的bean而創建一個靜態實例。 –
謝謝@HankD,你還有什麼建議? – java123999
@ElliotFrisch,我會引用他們到Krzysztof Wolny的回答http://stackoverflow.com/questions/28199999/how-does-a-spring-boot-console-based-application-work。它向他們展示瞭如何創建一個'main()'類似可以訪問注入bean的非靜態'run()'方法。 –