關于Controller層和Service層的類報錯問題及解決方案
Controller層和Service層的類報錯
當出現以下這種情況的時候,可以看看pom.xml文件中是否少了jar包。
當我出現這種情況的時候,我去看pom.xml包發(fā)現,如不其然我少了一個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,從字面上理解是控制器,所以它是負責業(yè)務調度的,所以在這一層應寫一些業(yè)務的調度代碼,而具體的業(yè)務處理應放在service中去寫,而且service不單純是對于dao的增刪改查的調用,service是業(yè)務層,所以應該更切近于具體業(yè)務功能要求,所以在這一層,一個方法所體現的是一個可以對外提供的功能,比如購物商城中的生成訂單方法,這里面就不簡單是增加個訂單記錄那么簡單,我們需要查詢庫存,核對商品等一系列實際業(yè)務邏輯的處理;
2.在整個項目中什么時候加異常?異常怎么處理?
說到異常,我們應該回想下我們學習異常這一模塊時,異常到底是什么有什么用?一直以來都覺得如果代碼出現了異常是件讓我悲傷的事,因為它意味著我哪里寫錯了,但是現在回想最初的認識都覺得有點好笑,"人,孰能無過",我所理解的異常只是我自己認為造成的錯誤,但殊不知實際中的異常情況是很多的,除了自身造成問題之外,服務器down了,或者數據狀態(tài)發(fā)生改變,甚至斷網都可能造成異常,所以從另一方面,異常是服務于我們的,是為了我們更好的發(fā)現問題解決問題而存在的,在這里,真的由衷的敬佩創(chuàng)造異常機制的前輩,他們過人的智慧真讓人望塵莫及~
回到話題上,那么實際中我們該怎么做呢?
個人覺得我們應該從底層的dao一直到action,應對每一層的代碼進行基本的try-catch,有時根據業(yè)務需求可能要進行多個catch,由上至下依次捕獲從小到大的各種異常,一般對底層的異常應該往出拋,目的是要通知上一層也就是調用者出現了什么問題,但是對于和用戶直接交互的前臺讓用戶看到后臺的這些異常信息可是不妥的,所以我們需要將異常信息轉換常用的友好提示給用戶,而對于異常信息應記錄到日志以便對問題進行分析解決。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
springboot中關于classpath:路徑使用及說明
這篇文章主要介紹了springboot中關于classpath:路徑使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09Maven 版本管理與 flatten-maven-plugin 插件的使用解析
這篇文章主要介紹了Maven 版本管理與 flatten-maven-plugin 插件的使用解析,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07