我正試圖找出Java對象正在實例化的地方。我有一個春天控制器和控制器是dataService
場:找不到@Resource對象在Spring xml中實例化的地方
@SuppressWarnings("restriction")
@Controller
public class DataController {
/**
* Service for which to delegate retrieval of data
*/
@Resource
private DataService dataService;
(DataService
是一個接口,實現這個服務是DataServiceImpl
類)。
根據我的理解,當@Resource在一個字段的上方時,它表示該對象使用一個通常在xml文件中定義的spring bean實例化。然而,我已經在我的工作區中搜索了這個對象的名字(以及許多變體),並且查看了項目中所有常見的spring bean位置,但我無法在任何地方找到任何提及。有誰知道這裏會發生什麼?
是啊,我搜索了類似'DataServiceImpl','DataService'等在我的Spring beans任何東西,但無法找到任何東西。 'DataServiceImpl'類看起來像這樣,它確實有'@ Service'註釋,但即使我們認爲它需要一個spring bean定義? '@服務 公共類DataServiceImpl實現的DataService {' – Stackman
@Stackman如果類都被註解'@ Service'這是@Component的''專業化然後春天將創建一個類的bean,並注入它無論它被稱爲。在這種情況下,你不需要在bean xml文件中定義它。 – Rohan