(但据我所知,它是调解器 b/w Controller 和 DAO 层。)或者我们可以直接在 Controller 中获取 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();
............
}
}
最佳答案
我们需要服务层的一个很好的原因是松耦合:
假设您的 Controller 类中有 100 个 api 和 20 个为它们提供服务的 dao 方法。
现在,如果您直接在 Controller 中调用 dao 方法,稍后您希望有不同的 dao 方法为这些 Controller 提供服务。
您必须更换所有 100 个 Controller 吗?
如果有 20 个服务方法调用这 20 个 dao 方法。
现在,如果您想更改为这 100 个 Controller 提供服务的 dao 方法,只需更改服务方法(即 20 个方法)以指向新的 doa 方法,而不是更改您的 100 个 Controller 类。
这就是您实现松散耦合的方式,也是一种更好的编程方式。 希望这对你有帮助:)
关于java - spring mvc 中的服务层需要什么?推荐什么样的逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694268/