JAVA项目 controller,sercive,DAO之间的联系(理论)

在Java Web应用中,通常采用MVC(Model-View-Controller)架构模式来组织代码,其中包括Controller层、Service层和DAO(Data Access Object)层。每层都有其特定的职责,确保代码的可维护性和可扩展性。

Controller层

文件:TestController.java

  • 职责:处理来自用户的HTTP请求,调用Service层的方法来执行业务逻辑,并返回响应。这是MVC架构中的“C”部分。
  • 实现:在这个例子中,TestController 使用Spring的@RestController注解,表明它是用于处理HTTP请求的控制器。它有两个路由处理方法,分别是testApiNotifyInfoSyncDealService和TestApiNotifyInfoDealService,这些方法处理特定的API调用请求。

示例代码:

/**
 * 
 * All rights reserved.
 */
package com.uniedp.test.controller;

import com.uniedp.core.utils.Result;
import com.uniedp.test.api.TestApiNotifyInfoDealService;
import com.uniedp.test.api.TestApiNotifyInfoSyncDealService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * test 需要spring环境的调用入口
 * 等同于 springTest
 *
 * @author 
 * @since 2024-7-26
 */
@RestController
@RequestMapping("open/api")

public class TestController {

    @Autowired
    private TestApiNotifyInfoSyncDealService testApiNotifyInfoSyncDealService;

    @GetMapping("testApiNotifyInfoSyncDealService")
    public Result testApiNotifyInfoSyncDealService(@RequestParam Map<String, Object> params) {
        testApiNotifyInfoSyncDealService.exec(null);
        return new Result();
    }

    @Autowired
    private TestApiNotifyInfoDealService testApiNotifyInfoDealService;

    @GetMapping("testApiNotifyInfoDealService")
    public Result TestApiNotifyInfoDealService(@RequestParam Map<String, Object> params) {
        testApiNotifyInfoDealService.exec(null);
        return new Result();
    }
}

Service层

文件:TestApiNotifyInfoSyncDealService.java

  • 职责:执行具体的业务逻辑。这通常包括调用DAO层的方法来访问数据库,处理数据,并执行业务规则。
  • 实现:TestApiNotifyInfoSyncDealService 类实现了NotifyInfoSyncDealService接口,提供了业务逻辑的实现。例如,它有一个sendBizData方法,用于处理业务数据的发送逻辑。

DAO层

  • 职责:直接与数据库交互,进行数据的CRUD(创建、读取、更新、删除)操作。DAO层为Service层提供了数据访问的接口。
  • 潜在实现:例如NotifyInterfaceService可能会在其内部使用DAO层来访问和操作数据库。Service层(如TestApiNotifyInfoSyncDealService)会使用这些服务来获取所需的数据或更新数据。

总结

在项目中,TestController 负责接收和响应用户请求,TestApiNotifyInfoSyncDealService 负责处理具体的业务逻辑。DAO层负责数据访问和持久化操作,是Service层的支持者。这种分层的架构模式有助于保持代码的组织性和清晰度,同时也便于维护和扩展。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值