2017-06-19 26 views
0

對非靜態方法列表()的靜態引用我正在eclipse中開發一個應用程序,以使用Spring和休眠在網頁中顯示數據庫表。以下是我的DAO文件。無法從類型EmployeeDAO

package net.codejava.spring.dao; 
import java.util.List; 
import net.codejava.spring.model.Employee; 
public interface EmployeeDAO { 
public List<Employee> list(); 
} 

和我已經建立控制器是

package net.codejava.spring.controller; 

import java.io.IOException; 

import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 

import antlr.collections.List; 
import net.codejava.spring.dao.EmployeeDAO; 
import net.codejava.spring.dao.*; 
public class HomeController { 
private EmployeeDAO employeeDAO; 

@RequestMapping(value="/") 
public ModelAndView listEmployee(ModelAndView model) throws IOException{ 
    List<Employee> listEmployee = EmployeeDAO.list(); 
    model.addObject("listEmployee",listEmployee); 
    model.setViewName("ome"); 
    return model; 
} 

} 

現在,它示出在我的控制器的錯誤消息,如「不能使從類型EmployeeDAO靜態參考非靜態方法列表() 」。

如何解決?

在此先感謝

回答

0

你應該在你的控制器@Autowired註釋注入EmployeeDAO

它更好地定義服務層並在控制器中使用它。我認爲你應該有更多關於圖層的信息。看到this

@Autowired 
private EmployeeDAO employeeDAO; 

@RequestMapping(value="/") 
public ModelAndView listEmployee(ModelAndView model) throws IOException{ 
    List<Employee> listEmployee = employeeDAO.list(); 
    model.addObject("listEmployee",listEmployee); 
    model.setViewName("ome"); 
    return model; 
} 
0

可以使用2路使用DAO類的自動裝配Autowired參考在控制器創建對象。

@Autowired 
private EmployeeDAO employeeDAO; 

在DAO類以其它方式使用靜態方法。