對於生產代碼,謹慎地聲明依賴關係而不是使用自動裝配,以便生產設置中的移動部件更少。 這類似於(順便說一下自動裝配集成測試一個非常有用的功能)只使用完全合格的import語句代替import my.super.project.dao.*
所以鉤東西在生產,一個好辦法的良好做法去只是普通的構造函數依賴注入到最後的領域。儘可能使用最終字段minimizes mutability。
服務類,它通過注射接收DAOS:
public class CompanyService implements ICompanyService {
private final EmployeeDao employeeDao;
private final DepartmentDao departmentDao;
public CompanyService(EmployeeDao employeeDao, DepartmentDao departmentDao) {
this.employeeDao = employeeDao;
this.departmentDao = departmentDao;
}
...
}
,然後控制器通過注射接收服務(使用接口類型):
@Controller
public class MyController
{
private final ICompanyService companyService;
public MyController(ICompanyService companyService) {
this.companyService = companyService;
}
@RequestMapping("/data")
public @RequestBody Data getData(@RequestParam String id)
{
return companyService.queryForData(id);
}
}
什麼是'myCustomModel'?豆子? – skaffman 2010-08-23 18:57:05
'@skaffman:'這是一個數據源。 – 2010-08-23 18:59:10
你能描述一下你想如何工作嗎?嘗試將代碼示例更改爲更接近編譯的內容。 – skaffman 2010-08-23 19:58:43