SSJ整合的步驟

2021-10-05 06:51:36 字數 1857 閱讀 3872

1、建立專案,導包

2、配置spring環境:spring.xml

①、掃瞄包:掃瞄service層、dao層

②、配置資料庫連線池,先引入jdbc.properties檔案,配置資料庫位址、使用者名稱、密碼

③、配置factorybean整合jpa

④、配置事務管理:transactionmanger

⑤、開啟事務管理的註解支援

3、domain實體類以及實體類之間的關係:多對一,多對多等

4、dao層介面級實現類:抽取basedao方式

5、service層介面及實現類:抽取baseservice

6、controller層暴露介面

7、springmvc配置檔案

8、前端整合easyui,增刪改查員工

1、no session錯誤

原因:懶載入時就去載入員工所屬部門資料的時候,發現entitymanager已經關閉

controller層使用了@response註解,用於將page方法返回的page物件轉化為json字串格式,然後將響應的訊息體傳送給瀏覽器

轉化為json字串,其本質就是呼叫該物件的每乙個get方法,獲取其屬性值,當某乙個屬性是list集合時,會自動遍歷迴圈獲取每乙個employee物件的所有屬性,也就是會呼叫employee物件的屬性的get方法,當獲取到department屬性時,呼叫get方法,由於配置的是懶載入,所以當再次獲取department物件的屬性值時,會去查詢資料,但此時entitymanager早已關閉,所以會報no session錯誤

解決方法:

將建立entitymanager物件的時機提前到controller層,將關閉entitymanager物件的時間延後到controller,也就是擴大entitymanager物件的作用域

具體做法:

在web.xml中新增openentitymanagerviewfilter過濾器

<

!-- 解決no session錯誤 --

>

openentitymanagerinviewfilter<

/filter-name>

class

>org.springframework.orm.jpa.support.openentitymanagerinviewfilter<

/filter-

class

>

<

/filter>

openentitymanagerinviewfilter<

/filter-name>

/*

2、no serializer錯誤

原因:

jap的懶載入引起的,當呼叫物件的屬性的get方法時,實際上返回的的物件時屬性類的子類物件,jpa底層在實現懶載入原理的時候,不但在子類重寫了父類所有屬性的get方法,並且還額外新增了三個字段(「hibernatelazyinitializer」,「handler」,「fieldhandler」),但是這三個欄位並沒有新增get方法,所以no serializer其實就表示找不到get方法而已**化json字串的時候要使用屬性的get方 法,但是找不到這三個欄位的get方法),所以報no serializer錯誤。

解決方案:

在懶載入字段上面新增註解

@jsonignoreproperties

()

表示在轉化json字串的時候忽略這三個字段

**鏈結

SSH整合步驟

整合步驟 1.引入jar包 2.配置檔案web.xml.struts.xml 3.建立包結構 4.兩兩整合 struts2整合spring 建立頁面 建立儲存商品的頁面 5.編寫action,service,dao 6.配置action,service和dao 自動注入時候 使用struts自己生成...

整合redis kafka es步驟

一.整合kafka 生產者 步驟 1.匯入依賴 pom.xml 2.編寫配置檔案,修改配置檔案的ip和埠號,修改主題 producer.xml 3.如果再ssm專案中可以讓spring.xml來載入這個配置檔案 如果是再測試類中如何載入?runwith springjunit4classrunner...

mapbox整合步驟

前提 首先註冊或登陸賬號,獲取access token 1.新增依賴 build.gradle moudle層 新增 compile com.mapbox.mapboxsdk mapbox android sdk aar 問題 依賴同步後,出現 error failed to resolve com...