0
点赞
收藏
分享

微信扫一扫

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


系列文章目录

文章目录

  • 系列文章目录
  • 前言——完善查找所有用户
  • 一、Service高级实现原理
  • 二、Service高级实现详细代码
  • 注意

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

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


我们接着上一篇,再写一个查找所有用户

我们以前获取一个表的所有数据是要写一个hql的(hibernate特有的)

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


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


然后测试一下

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


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

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


同理获取所有用户信息

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


至此,Dao这块的设计模式就全部写完了

service是怎么样的呢,实际上它跟Dao有点不一样,那具体是怎么不一样呢?我们具体来看

一、Service高级实现原理

service怎么就不一样了呢?因为service拿到的不是模板了,它拿到的是IUserDao

我们先分析原理

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


但是跟Dao层相比较有一个地方不一样

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

二、Service高级实现详细代码

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


公共的直接拷贝 Dao层的IBaseDao的代码,然后改改就行了

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


接下来我们写IUserService

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


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


这个具体的接口里面是有可能有它特殊的方法的(就是除了公共的增删改查之外)

我们在这个里面去声明好抽象方法

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


接下来我们就写实现类,公共的实现类

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


注意下面这里

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


下面去写具体的实现类

我们先写一下UserServiceImpl

然后在这里面去实现所有的方法(因为之前的BaseServiceImpl是抽象的,没有去实现具体的方法,所以这里就全部一起实现了)

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


那么我们想想,在这个具体实现的UserServiceImpl里面我们需要改什么东西

首先是不是要整一个Dao,下面我们整一个

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


然后那些公用的方法就简单了,这里的逻辑层,其实就相当于一个桥梁,直接调用dao层就行了

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


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


另外service和dao层一样 也搞个实现包

这样

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


下一步,测试业务

在此之前一个是要创建service(这里具体就是指UserServiceImpl)的bean

另一个是要给service创建事务

这里这两个我们都用注解去完成

前提就是我们这两个都开启了,可以使用注解

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


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


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


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


这里注释掉事务的注解,扔然能够正常运行

但是我们要想想怎么彻底解决

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


名字改一下就好了

至此service这块就搞定了

注意

如果这里报错

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


我们一定要知道为什么会报错,思路应该定在,applicationContext.xml(即beans.xml)上,一定是它有问题,导致自动注入出了问题

而我们去检查映射文件applicationContext.xml(即beans.xml),没有发现问题的时候,肯定是上一层的注解漏掉了,我们这里就是如此

如下:

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


还需注意,这里的事务注解是可以不写的,但是不写就,没有事务功能

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


举报

相关推荐

0 条评论