java - spring mvc 中的服务层需要什么?推荐什么样的逻辑?

标签 java spring-mvc

(但据我所知,它是调解器 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/

相关文章:

java - 为什么我的 assertEquals 不起作用?

java - 无法在 Controller 中映射 url

java - 如何将位图转换为 View ?

java - 更改输出的颜色

java - 无法在两个 Activity 之间传递 int 值

java - 下载并保存图形

java - 使用带有 `public static final` 对象的 Java Spring 注入(inject)(对于 Jakarta Unstandard)

java - Spring Data REST 不包括资源中的实体链接

java - 设计带有/不带有特定类实现的接口(interface)

java - Autowired 在自定义约束 validator 中给出 Null 值