当前课程知识点:软件开发实训--动态网站开发 >  6 用户管理功能实现 >  6.1用户服务层接口实现 >  6.1.1用户服务层接口实现

返回《软件开发实训--动态网站开发》慕课在线视频课程列表

6.1.1用户服务层接口实现在线视频

下一节:6.2.1用户列表和编辑控制器实现

返回《软件开发实训--动态网站开发》慕课在线视频列表

6.1.1用户服务层接口实现课程教案、知识点、字幕

同学你好

欢迎回到软件开发实训课堂

上节课咱们讲了如何去实现用户

访问对象的接口实现

那么这节课我们来讲一讲

如何通过服务层去访问我们的数据访问对象

从而实现我们对用户信息的操作

要想访问访问对象的话

我们还需要去写service

做一个服务接口

实际上我们这个时候用控制器就可以访问这个

访问对象了

但是我们为什么要多一个服务对象呢

就是我们把对数据的访问和对我们功能的处理

让它独立出来

而控制器仅仅只是用来转发的

转发我们的请求的

所以对功能的处理

我们把它完全放在服务端就可以了

所以我们将整个框架用服务

dao控制器

用这三层来把它实现了

那么服务的定义

因为服务没有默认的接口来实现所有的默认方法

所以我们可以定义一个基本的服务接口

把所有的默认的方法给它定义出来

再一个我们也可以用一个基本的类来实现

基本的服务接口

从而让我们定义自己的某个实体对应的服务时

能够更加容易快速

而且减少了我们代码的重复

我们来看一下

服务该如何定义

首先

我们在我们的包名上点击右键

选择Java接口

这里边类名我们用userService

表明我们要定义一个服务接口

服务接口

我们把它放在Service这个包中

完成后

我们就可以去定义它的相关的基础方法了

第一个

我们应该需要存储我们的实体

user

第二个

我们需要查询它

findAll

查询所有的

而且是根据关键字来查询

并且还需要分页

有时候我们去修改信息时

还需要根据我们的ID来查询

但是这些返回各自不能有void的了

必须要有它自身的返回类型

那么这些返回类型是什么呢

首先我们来看findAll

findAll是查找所有的

但是它具有分页功能

而我们的dao对象返回的是配置

在这里

因为我们前端需要配置数据

所以我们也让它返回配置这个对象

再看

findBy

findBy查出来

因为ID它是唯一的

所以它查出来的时候只有一条数据

所以我们把它直接转换成实体

这样我们就可以实现

通过ID来查询一个实体

通过findAll来查询多个实体

我们导入配置

另外一个我们还需要删除

删除呢我们删除一条信息

也可能我们需要通过一个整型来删除

还有可能我们需要什么呢

多个删除

来删除用户的

来删除更多的用户

这是增删改查

就已经都有了

有单个删除

有批量删除

这样我们最基本的接口

user service就定义完了

然后对它的实现

我们在service包上点击右键

选择Java类

来实现我们的接口

接口的实现呢

我们尽量的使用接口的名字加上一个Impl

这样我们很快的能够准确的知道我们实现的是

哪一个接口

Implements

然后,我们的接口

实现所有的抽象方法

对于每一个出现方法

它自动的给你生成了方法

但是方法里用的是抛出了异常

也就是如果你不实现的话

那么这个方法默认是抛异常的

在这里我们要实现它

加上Autowired

Autowired是spring

能够帮我们自动的注入我们需要的实体类对象

自动注入我们的类对象

我们来看一下

我们需要的是userRepository

用这个接口对象

我们就可以操作用户实体了

首先看保存

访问对象

调用它的save

然后存储对象findAll

这里边

我们可以直接调用我们在dao里定义的

自定义的方法来实现

它返回的类型是一样的

所以我们直接return就可以了

findBy ID一样的

我们可以通过dao的findByID来得到我们所要的数据

同样的

它返回的是一个optional对象

这里面就需要我们去获取对应的实体对象了

optional对象

它实际上可以通过get来返回

它里面的实体对象

所以我们调用它的get方法就可以了

删除

也是调用dao的delete的方法

通过dao的deleteByID方法

来删除给定ID的用户信息

最后批量删除

批量删除它操作的用户数就比较多了

user

注意循环的选择

我们去删除它

用我们上面的删除方法就可以了

或者我们直接调用

userRepository

这个对象来删除

这个删除呢

,它有一个deleteBys

你可以把它转换atretboll来删除

也可以通过delete删除

一个一个的删除

但是这个就会牵扯到一个数据的完整性问题

我们不能删了半截

最后出错了

前面已经删了

后边还没有删掉

这样就不合适了

那么解决这个问题的方式就是在我们的方法

上面加上一个Tansational

这样我们的事务处理就能够保证

我们删除的时候数据的完整性

这是我们要实现的服务端

为了让spring能够自动的管理和扫描这个对象

我们需要在实现类上加一个注解

service

用来告诉spring

我们实现了userSevice这个接口

并且作为服务类来提供相关服务

我们的sevicee写完了

我们看到它在发布的时候

总是出现了这个错误提示

说我们的findByKeyword

在使用的时候

说用到了配置

而他告诉我们分页查询必须有一个pageable参数

但是我记得我们已经提供了pageable

在往后看

我们看到了我们这个方法

它的返回类型

以及它提供的参数

在这里我们发现我们这个参数

居然是来自另外一个包的

所以我们在导入时一定要注意

打开我们的数据库对象

删除我们原来导入的pageble

所以在开发的过程中

因为类名的重复

你要时刻注意导入正确的相关类包

看一下我们要用到的是spring框架里面的

pageble

所以我们要选择第二个

而不是第一个

这样我们就把它修改过来后

它自动发布

不再出错了

我们看一下

userservice

它的实现类里边报一个错

我们发现我们改完以后

这里出错了

这说明我们类里边引用的pageble也是错误的

所以我们需要把它导入的删掉

让它重新导入我们正确的类来

这样子的话

我们的overrid出现了错误

很明显吗

那就是我们的接口里边的也导入的是错误的

所以这一个错误引起了很多地方发生了问题

我们导入这个包

把它复制过来

这样的话我们导入正确的类后

我们这个错误就全部解决了

有关用户服务层的实现

我们就讲到这里

下节课我们再见

软件开发实训--动态网站开发课程列表:

1 前端需求分析

-1.1课程介绍

--1.1.1课程介绍

--1.1.2课程介绍PPT

--1.1.3随堂测试

-1.2网站需求分析

--1.2.2网站需求分析

--1.2.3需求PPT

--1.2.4随堂测试

-1.3网站首页分析

--1.3.1网站首页分析

--1.3.2首页分析PPT

--1.3.3随堂测试

-1.4导航菜单分析

--1.4.1导航菜单分析

--1.4.2课程PPT

--1.4.3随堂测试

-1.5内容区域分析

--1.5.1内容区域分析

--1.5.2课程PPT

--1.5.3随堂测试

-1.6内容副页面分析

--1.6.1副页面分析

--1.6.2课程PPT

--1.6.3软件系统需求分析

-1.7编写需求文档

-1.8需求分析理解

2 后端分析

-2.1后端页面总体分析

--2.1.1后端页面总体设计

--2.1.2课程PPT

--2.1.3随堂测试

-2.2用户管理功能设计

--2.2.1用户管理功能分析

--2.2.2课程PPT

--2.2.3随堂测试

-2.3内容与分类功能分析

--2.3.1内容与分类功能分析

--2.3.2课程PPT

--2.3.3随堂测试

-2.4网站配置功能设计

--2.4.1网站配置功能设计

--2.4.2课程PPT

--2.4.3软件系统设计

--2.4.4随堂测试

-2.5数据库及表结构分析

--2.5.1数据库及表结构分析

--2.5.2课程PPT

--2.5.3数据库设计

-总体设计文档

3 接口设计

-3.1前台模板约定

--3.1.1前台模板约定

--3.1.2课程PPT

--3.1.3随堂测试

-3.2网站配置接口设计

--3.2.1网站配置接口设计

--3.2.2课程PPT

--3.2.3随堂测试

-3.3菜单接口设计

--3.3.1菜单接口设计

--3.3.2课程PPT

--3.3.3随堂测试

-3.4内容接口设计

--3.4.1内容接口设计

--3.4.2课程PPT

--3.4.3随堂测试

-3.5幻灯片接口设计

--3.5.1幻灯片接口设计

--3.5.2课程PPT

--3.5.3随堂测试

-补充设计文档

-3.7接口设计

4 功能设计

-4.1用户管理功能设计

--4.1.1用户管理功能设计

--4.1.2课程PPT

--4.1.3随堂测试

-4.2菜单管理功能设计

--4.2.1菜单管理功能设计

--4.2.2课程PPT

--4.2.3随堂测试

-4.3内容管理功能设计

--4.3.1内容管理功能设计

--4.3.2课程PPT

--4.3.3随堂测试

-4.4网站配置信息设计

--4.4.1网站配置信息设计

--4.4.2课程PPT

--4.4.3随堂测试

-完成设计文档

-4.6随堂测试

5 环境搭建与开发

-5.1开发环境搭建

--5.1.1环境搭建

--5.1.2随堂测试

-5.2Web前端环境搭建

--5.2.1Web前端环境

-5.3创建用户实体

--5.3.1用户实体创建

--5.3.2随堂测试

-5.4用户实体表创建与初始化

--5.4.1用户实体表创建与初始化

--5.4.2随堂测试

-5.5用户数据访问接口实现

--5.5.1用户数据访问接口实现

--5.5.2随堂测试

-5.6环境搭建问题

-5.7环境搭建问题

6 用户管理功能实现

-6.1用户服务层接口实现

--6.1.1用户服务层接口实现

--6.1.2随堂测试

-6.2用户列表和编辑控制器实现

--6.2.1用户列表和编辑控制器实现

--6.2.2随堂测试

-6.3用户存储和删除控制器实现

--6.3.1用户存储和删除控制器实现

-6.4用户添加、编辑界面实现

--6.4.1用户添加、编辑界面实现

-6.5用户管理添加用户调试

--6.5.1用户管理添加用户调试

-6.6开发

7 用户管理功能实现二

-7.1用户查询模板实现

--7.1.1用户查询模板实现

--7.1.2随堂测试

-7.2用户信息编辑的实现

--7.2.1用户信息编辑的实现

-7.3单个用户删除实现

--7.3.2单个用户删除实现

-7.4多个用户删除实现

--7.4.1多个用户删除实现

8 用户管理功能实现三

-8.1用户列表分页基本实现

--8.1.1用户列表分页基本实现

-8.2用户列表查询结果分页实现

--8.2.1用户列表查询结果分页实现

-8.3通用日期处理

--8.3.1通用日期处理

-8.4整型日期处理

--8.4.1整型日期处理

--8.4.2随堂测试

-8.5枚举数据的应用

--8.5.1枚举数据的应用

--8.5.2Spring Boot开发

9 后台主界面实现

-9.1登录逻辑实现

--9.1.1登录逻辑实现

--9.1.2随堂测试

-9.2登录界面及流程调试

--9.2.1登录界面及流程调试

--9.2.2随堂测试

-9.3管理主界面实现

--9.3.1管理主界面实现

--9.3.2随堂测试

-9.4授权验证拦截器实现

--9.4.1授权验证拦截器实现

--9.4.2随堂测试

-9.5拦截器调试

--9.5.1拦截器调试

10 分类管理实现

-10.1分类接口实现

--10.1.1分类接口实现

-10.2分类添加、编辑实现

--10.2.1分类添加、编辑实现

-10.3分类树结构实现

--10.3.1分类树结构实现

-10.4分类删除实现

--10.4.1分类删除实现

--10.4.2随堂测试

11 内容管理实现

-11.1内容实体定义

--11.1.1内容实体定义

-11.2相关接口定义

--11.2.1相关接口定义

-11.3服务接口实现

--11.3.1服务接口实现

-11.4内容添加、编辑模板实现

--11.4.1内容添加、编辑模板实现

-11.5内容添加、编辑控制器实现

--11.5.1内容添加、编辑控制器实现

-11.6内容检索页面实现

--11.6.1内容检索页面实现

-11.7内容分类树实现

--11.7.1内容分类树实现

12 UEditor富文本编辑器

-12.1修改UEditor相关问题

--12.1.1修改UEditor相关问题

-12.2整合UEditor到内容编辑界面

--12.2.1整合UEditor到内容编辑界面

-12.3UEditor图片对话框应用

--12.3.1UEditor图片对话框应用

-12.4文件上传问题处理

--12.4.1文件上传问题处理

13 网站配置管理实现

-13.1网站配置相关类实现

--13.1.1网站配置相关类实现

-13.2网站配置界面模板实现

--13.2.1网站配置界面模板实现

-13.3网站配置调试

--13.3.1网站配置调试

14 网站前端组件实现

-14.1网站首页布局实现

--14.1.1网站首页布局实现

-14.2菜单Vue组件实现

--14.2.1菜单Vue组件实现

--14.2.2随堂测试

-14.3幻灯片Vue组件实现

--14.3.1幻灯片Vue组件实现

-14.4滚动Vue组件实现

--14.4.1滚动Vue组件实现

--14.4.2随堂测试

-14.5滚动接口实现

--14.5.1滚动接口实现

-14.6滚动接口调试

--14.6.1滚动接口调试

-14.7幻灯片接口实现

--14.7.1幻灯片接口实现

15 网站前端页面实现

-15.1首页区域实现

--15.1.1首页区域实现

-15.2首页内容脚本实现

--15.2.1首页内容脚本实现

-15.3首页完善

--15.3.1首页完善

-15.4Vue组件放入单文件

--15.4.1Vue组件放入单文件

-15.5详细页面实现

--15.5.1详细页面实现

-15.6前端问题

16 测试与发布

-16.1网站测试介绍

--16.1.1网站测试介绍

--16.1.2课程PPT

-16.2功能测试

--16.2.1功能测试

--16.2.2课程PPT

-16.3打包发布

--16.3.1打包发布

-16.4部署运行

--16.4.1部署运行

--16.4.2随堂测试

6.1.1用户服务层接口实现笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。