(但据我所知,它是中介黑白控制器和 DAO 层。)或者我们可以直接在控制器中获取 dao 依赖项吗?这是一个很好的做法吗???? 正如我下面所示
@Controller
public class HomeController {
// @Autowired
// private UserServiceImpl userService;
@Autowired
private UserDAOImpl userDAOService;
@RequestMapping(value = "login", method = RequestMethod.GET)
public String login(..){
// String res = userService.someOperation();
String res = userDAOService.someOperation();
............
}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我们需要服务层的一个很好的原因是为了松散耦合:
假设您的控制器类中有 100 个 api,并且有 20 个为它们提供服务的 dao 方法。
现在,如果您直接在控制器中调用 dao 方法,并且稍后您希望有不同的 dao 方法为这些控制器提供服务。
您必须更换所有 100 个控制器,对吗?
因此,如果有 20 个服务方法调用这 20 个 dao 方法。
现在,如果您想更改为这 100 个控制器提供服务的 dao 方法,您只需更改服务方法(即 20 个方法)以指向新的 doa 方法,而不是更改您的 100 个控制器类。
这就是实现松散耦合的方法,也是一种更好的编程方式。希望这对您有帮助:)
| 归档时间: |
|
| 查看次数: |
6021 次 |
| 最近记录: |