service包的目录结构

1 service包说明

之前开发service时,只有service接口-service实现类 对应着dao接口-dao实现类

现在要求拆分service为

service包

接口,纯粹的抽象类,全都是未被实现的抽象方法。

abst包

抽象包,下面的类叫抽象类。

实现service包中的接口,但是只实现对dao层进行直接调用的方法(对数据的增删改查),其他方法保持不变。

由于类里存在未被实现的抽象方法,因此被称为抽象类,所在的包则为抽象包。

impl包

实现包,下面的类叫实现类。

继承abst包的类,实现service包中接口,只实现abst类中未被实现的抽象方法,即接口中独有的方法,无法通过直接调用dao层去实现的方法。

这样就将service包中的业务处理方法和对数据库的直接调用方法拆开到两个包中进行实现,方便管理,再在第二个包中通过继承实现汇合。

这种service包的管理并不会影响dao层,dao层并不关心谁调用我,dao层只需要写好自己的模块即可,所以mybatis的使用或者BaseDao的封装以及调用还是老样子

1.1 包的结构

dao的接口依然和service的接口对应

dao的接口依然和dao的实现类对应

service的接口则分到两种包下的类去对应 两种包下的类之间又一 一对应形成父子继承

1.2 service模块只有独有的方法时

接口

接口中只有一个service独有的方法

抽象类

此时也要在抽象包下创建对应的抽象类,抽象类实现接口,但是里面没有东西,注意抽象类的abstract声明需要手动加上去

实现类

此时在实现包下创建对应的实现类,实现类继承抽象类,然后实现接口,然后进行方法重写。

这个重写的方法根据业务逻辑需求,去dao层调用一个或多个方法

Dao的接口

接口显示虽然创建了五个方法,但是只有2个方法被调用,分别是 分页查询 和 统计总数量

1.3 service模块有多种方法时

接口

接口中有直接调用dao的方法,也有需要进行业务处理再调用dao的方法

抽象类

此时要在抽象包下创建对应的抽象类,抽象类实现接口,然后进行方法重写。

抽象类下的方法就只是简单的直接调用dao层的方法。

实现类

此时在实现包下创建对应的实现类,实现类继承抽象类,然后实现接口,然后进行方法重写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值