对于生产代码,谨慎地声明依赖关系而不是使用自动装配,以便生产设置中的移动部件更少。 这类似于(顺便说一下自动装配集成测试一个非常有用的功能)只使用完全合格的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