山东大学软件学院创新实训----后端开发7 BaseService实现

简介:

          在我们的项目中,有些服务类需要用到不同类型的数据和业务逻辑,为了提高代码的复用性和可维护性,我们设计了一个基础服务抽象类BaseService,,它包含了一些通用的功能和数据访问操作。

设计意义:

        1. 提高代码复用性

   BaseService类是所有服务类的基础类,实现了IService接口,定义了一些通用的数据访问操作。通过设计一个基础服务类,可以将一些通用的功能提取到基础类中,避免在每个具体服务类中重复编写相同的代码,提高代码的复用性。

        2. 方便数据访问

         在BaseService类中,通过@Autowired注解注入了多个数据访问对象(DAO),这些DAO用于访问各种不同类型的数据,如用户数据、浏览历史数据、疾病数据等。通过在基础服务类中统一管理这些DAO,可以方便地在具体服务类中访问和操作数据,简化数据访问层的实现。

        3. 提高代码的可维护性

        通过将通用的功能和数据访问操作集中到基础服务类中,可以使代码结构更加清晰,逻辑更加集中,便于后续的维护和扩展。当需要修改某些通用功能时,只需在基础服务类中进行修改,而不需要在每个具体服务类中逐一修改,提高了代码的可维护性。

总结:

        通过设计一个基础服务类BaseService,可以提高代码的复用性、方便数据访问、提高代码的可维护性。在实际开发中,可以根据具体业务需求,在基础服务类中添加更多的通用功能和数据访问操作,使其更加完善和灵活。利用Spring框架的依赖注入和MyBatis-Plus的DAO管理,可以极大地提高开发效率,减少重复代码,确保代码的简洁性和可维护性。

完整实现代码:

package com.SmartMed_Connect.service;

import com.SmartMed_Connect.dao.*;
import org.springframework.beans.factory.annotation.Autowired;
import com.SmartMed_Connect.dao.*;
import org.springframework.stereotype.Service;

/**
 * BaseService 抽象类
 * 该类是所有服务类的基础类,实现了 IService 接口,定义了一些通用的数据访问操作。
 * 泛型 T 表示服务类操作的实体类型。
 */
@Service
public abstract class BaseService<T> implements IService<T> {

    /**
     * 用户 DAO 对象,用于访问用户相关数据的持久化操作。
     */
    @Autowired
    protected UserDao userDao;

    /**
     * 浏览历史 DAO 对象,用于访问浏览历史相关数据的持久化操作。
     */
    @Autowired
    protected HistoryDao historyDao;

    /**
     * 疾病 DAO 对象,用于访问疾病相关数据的持久化操作。
     */
    @Autowired
    protected IllnessDao illnessDao;

    /**
     * 疾病种类 DAO 对象,用于访问疾病种类相关数据的持久化操作。
     */
    @Autowired
    protected IllnessKindDao illnessKindDao;

    /**
     * 疾病相关药物 DAO 对象,用于访问疾病与药物关联数据的持久化操作。
     */
    @Autowired
    protected IllnessMedicineDao illnessMedicineDao;

    /**
     * 药物 DAO 对象,用于访问药物相关数据的持久化操作。
     */
    @Autowired
    protected MedicineDao medicineDao;

    /**
     * 医疗新闻 DAO 对象,用于访问医疗新闻相关数据的持久化操作。
     */
    @Autowired
    protected MedicalNewsDao medicalNewsDao;

    /**
     * 页面浏览量 DAO 对象,用于访问页面浏览量相关数据的持久化操作。
     */
    @Autowired
    protected PageviewDao pageviewDao;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值