BOS项目02_06_Service高级实现原理和代码实现、查找所有用户

系列文章目录

前言——完善查找所有用户

在这里插入图片描述
我们接着上一篇,再写一个查找所有用户
我们以前获取一个表的所有数据是要写一个hql的(hibernate特有的)
在这里插入图片描述
在这里插入图片描述
然后测试一下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
同理获取所有用户信息
在这里插入图片描述
至此,Dao这块的设计模式就全部写完了
service是怎么样的呢,实际上它跟Dao有点不一样,那具体是怎么不一样呢?我们具体来看

一、Service高级实现原理

service怎么就不一样了呢?因为service拿到的不是模板了,它拿到的是IUserDao
我们先分析原理
在这里插入图片描述
但是跟Dao层相比较有一个地方不一样
在这里插入图片描述

二、Service高级实现详细代码

在这里插入图片描述
公共的直接拷贝 Dao层的IBaseDao的代码,然后改改就行了

在这里插入图片描述
接下来我们写IUserService

在这里插入图片描述
在这里插入图片描述
这个具体的接口里面是有可能有它特殊的方法的(就是除了公共的增删改查之外)
我们在这个里面去声明好抽象方法
在这里插入图片描述
接下来我们就写实现类,公共的实现类

在这里插入图片描述
注意下面这里
在这里插入图片描述
下面去写具体的实现类
我们先写一下UserServiceImpl
然后在这里面去实现所有的方法(因为之前的BaseServiceImpl是抽象的,没有去实现具体的方法,所以这里就全部一起实现了)

在这里插入图片描述
那么我们想想,在这个具体实现的UserServiceImpl里面我们需要改什么东西
首先是不是要整一个Dao,下面我们整一个
在这里插入图片描述
然后那些公用的方法就简单了,这里的逻辑层,其实就相当于一个桥梁,直接调用dao层就行了
在这里插入图片描述
在这里插入图片描述
另外service和dao层一样 也搞个实现包
这样

在这里插入图片描述
下一步,测试业务
在此之前一个是要创建service(这里具体就是指UserServiceImpl)的bean
另一个是要给service创建事务
这里这两个我们都用注解去完成
前提就是我们这两个都开启了,可以使用注解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里注释掉事务的注解,扔然能够正常运行
但是我们要想想怎么彻底解决
在这里插入图片描述
名字改一下就好了
至此service这块就搞定了

注意

如果这里报错
在这里插入图片描述
我们一定要知道为什么会报错,思路应该定在,applicationContext.xml(即beans.xml)上,一定是它有问题,导致自动注入出了问题
而我们去检查映射文件applicationContext.xml(即beans.xml),没有发现问题的时候,肯定是上一层的注解漏掉了,我们这里就是如此
如下:
在这里插入图片描述
还需注意,这里的事务注解是可以不写的,但是不写就,没有事务功能
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值