关于Controller层和Service层的类报错问题及解决方案
作者:Liu_SmileCandy 时间:2023-09-28 15:12:23
Controller层和Service层的类报错
当出现以下这种情况的时候,可以看看pom.xml文件中是否少了jar包。
当我出现这种情况的时候,我去看pom.xml包发现,如不其然我少了一个jar包
这就是我少了的那个jar包(spring-web),把这个加上之后就可以了。
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
Controller层和Service层的作用
1.在controller和service里都写那些代码?
Controller,从字面上理解是控制器,所以它是负责业务调度的,所以在这一层应写一些业务的调度代码,而具体的业务处理应放在service中去写,而且service不单纯是对于dao的增删改查的调用,service是业务层,所以应该更切近于具体业务功能要求,所以在这一层,一个方法所体现的是一个可以对外提供的功能,比如购物商城中的生成订单方法,这里面就不简单是增加个订单记录那么简单,我们需要查询库存,核对商品等一系列实际业务逻辑的处理;
2.在整个项目中什么时候加异常?异常怎么处理?
说到异常,我们应该回想下我们学习异常这一模块时,异常到底是什么有什么用?一直以来都觉得如果代码出现了异常是件让我悲伤的事,因为它意味着我哪里写错了,但是现在回想最初的认识都觉得有点好笑,"人,孰能无过",我所理解的异常只是我自己认为造成的错误,但殊不知实际中的异常情况是很多的,除了自身造成问题之外,服务器down了,或者数据状态发生改变,甚至断网都可能造成异常,所以从另一方面,异常是服务于我们的,是为了我们更好的发现问题解决问题而存在的,在这里,真的由衷的敬佩创造异常机制的前辈,他们过人的智慧真让人望尘莫及~
回到话题上,那么实际中我们该怎么做呢?
个人觉得我们应该从底层的dao一直到action,应对每一层的代码进行基本的try-catch,有时根据业务需求可能要进行多个catch,由上至下依次捕获从小到大的各种异常,一般对底层的异常应该往出抛,目的是要通知上一层也就是调用者出现了什么问题,但是对于和用户直接交互的前台让用户看到后台的这些异常信息可是不妥的,所以我们需要将异常信息转换常用的友好提示给用户,而对于异常信息应记录到日志以便对问题进行分析解决。
来源:https://blog.csdn.net/qq_40965783/article/details/85252578
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用Spring事件机制实现异步的方法
![](https://img.aspxhome.com/file/2023/2/91062_0s.png)
关于Unity C# Mathf.Abs()取绝对值性能测试详解
![](https://img.aspxhome.com/file/2023/7/116427_0s.jpg)
c#高效的线程安全队列ConcurrentQueue<T>的实现
![](https://img.aspxhome.com/file/2023/6/81126_0s.png)
轻松实现功能强大的Android刮奖效果控件(ScratchView)
![](https://img.aspxhome.com/file/2023/3/122053_0s.gif)
Java IO流—异常及捕获异常处理 try…catch…finally
![](https://img.aspxhome.com/file/2023/1/62401_0s.png)
Java实现对两个List快速去重并排序操作示例
![](https://img.aspxhome.com/file/2023/7/71937_0s.png)
Android自定义Notification添加点击事件
Android开发之WebView组件的使用解析
maven 配置多个仓库的方法
配置Android SDK
![](https://img.aspxhome.com/file/2023/4/102614_0s.png)
IntelliJ IDEA中查看文件内所有已声明的方法(类似eclipse的outline)
![](https://img.aspxhome.com/file/2023/7/62147_0s.png)
Filter、Servlet、Listener的学习_动力节点Java学院整理
![](https://img.aspxhome.com/file/2023/9/72529_0s.jpg)
springboot+jersey+tomcat实现跨域方式上传文件到服务器的方式
![](https://img.aspxhome.com/file/2023/9/66679_0s.jpg)
C#巧用DateTime预设可选的日期范围(如本年度、本季度、本月等)
![](https://img.aspxhome.com/file/2023/2/125992_0s.gif)
Springboot整合PageOffice 实现word在线编辑保存功能
![](https://img.aspxhome.com/file/2023/7/88517_0s.png)
C# DataSet查看返回结果集的实现
![](https://img.aspxhome.com/file/2023/1/111091_0s.png)
SpringBoot整合MyCat实现读写分离的方法
![](https://img.aspxhome.com/file/2023/1/67571_0s.png)
Java中弱引用和软引用的区别以及虚引用和强引用介绍
![](https://img.aspxhome.com/file/2023/1/80851_0s.gif)
SpringBoot+JSON+AJAX+ECharts+Fiddler实现前后端分离开发可视化
![](https://img.aspxhome.com/file/2023/2/61562_0s.png)