秒殺模組碎碎念筆記 2 Service層

2021-08-04 14:09:15 字數 1190 閱讀 8355

dto:web與service層之間傳輸用

一般需要不同變數的構造方法來返回不同狀態的結果

定義錯誤類:

public

class

seckillexception

extends

runtimeexception

public

seckillexception(string message, throwable cause)

}

通常定義乙個總的錯誤型別,然後其他子錯誤繼承它,並為具體service介面定義丟擲的異常

在service整體補抓異常,除了我們自己定義的異常外,dao層還可能出現資料庫斷開連線/資料庫超時等異常

編譯時異常整體丟擲時,先要捕捉子類異常

列印錯誤日誌

private logger logger= logge***ctory.getlogger(this.getclass());

logger.error(e.getmessage(),e);

列舉的使用:

public

enum seckillstatenum

public

intgetstate()

public string getinfo()

public

static seckillstatenum stateof(int index)

}return

null;

}}

public seckillexecution(long seckillid, seckillstatenum statenum, successkilled successkilled)
spring-service 放所有service有關,自動包括子包

事務只有在丟擲執行時異常才回滾,不要亂用trycatch,因為如果有異常的話還是會被提交

盡可能保證執行時間短:不要穿插網路請求,也就是不要在事務方法裡面寫執行時間長的事務

如果需要長時間的方法:需要剝離,寫到上層就可以

不是所有的方法都需要事務:只有一條修改操作/唯讀操作

需要了解行級鎖的內容

idea xml 中在乙個配置檔案中引入另外乙個檔案的bean可能會出錯,但是執行其實是沒錯的

關於Struts2的碎碎念

我入行比較晚,那會spring mvc什麼的都很流行了,一直覺得struts2作為乙個web mvc框架實在太笨重了點。所以雖然之前一直在用,但是其實沒有真正研究過。今天公司又遇到乙個比較嚴重的struts的安全問題,最後檢查了很久,換最新版也無效。但是因為公司一直在用strtus2,作為乙個愛著自...

No 2 前端入門碎碎念(二)

實習期間第二個前端小模組 前乙個模組主要是讀 再刪 第二個模組主要是寫 測書寫的 其實主要是後台寫簡單的 前台依舊利用html css js,後台利用php 注釋很重要!一定要寫具體,最好把自己的全部思路寫在旁邊 自己建介面檔案,建後台 檔案,不要往別人的 後面附 jqueryeasyui手冊可以作...

Golang零碎筆記 2

1.主協程 main協程 退出後,子協程會相繼退出,這個是如果主協程不阻塞看不到子協程列印結果的原因。2.runtime.goexit 函式用於終止當前 goroutine,但 defer 函式將會被繼續呼叫。3.gomaxprocs n int int 用來設定可同時執行的執行緒數,並返回當前設定...