1. 程式人生 > >Spring框架學習筆記(四)

Spring框架學習筆記(四)

兩個 低版本 事務管理器 對象關系 多行 通配符 表單 spring整合 val

上接Spring框架學習筆記(三)

聲明式事務管理(xml配置)

1 配置文件方式使用aop思想配置

第一步 配置事務管理器

技術分享圖片

第二步 配置事務增強

技術分享圖片

第三步 配置切面

技術分享圖片

聲明式事務管理(註解)

第一步 配置事務管理器

技術分享圖片

第二步 配置事務註解

技術分享圖片

第三步 在要使用事務的方法所在類上面添加註解

技術分享圖片

SSH三大框架整合:

(1)struts2

(2)hibernate5.x

(3)spring4.x

回顧SSH框架知識點:

Hibernate框架

1 hibernate核心配置文件

(0)orm思想

  - 對象關系映射

(1)數據庫信息

(2)hibernate信息

(3)映射配置

(4)hibernate核心配置文件

  - 如果單純使用hibernate框架,核心配置文件名稱 hibernate.cfg.xml和位置 src下面 固定的

  - hibernate和spring整合時候,hibernate核心配置文件名稱和位置沒有固定要求的

2 hibernate映射配置文件

(1)實體類和數據庫表映射關系—使用orm思想

3 hibernate操作的步驟

(1)在spring框架對hibernate框架進行封裝,使用hibernateTemplate

Struts2框架

1 Action操作

(1)action創建三種方式

  - 繼承類 ActionSupport

(2)配置action訪問路徑

  - 創建struts.xml配置文件,這個文件名稱和位置固定 src下面的

(3)配置訪問action的多個方法

  - 使用通配符方式配置

(4)在action獲取表單提交數據

  - 獲取request對象

  ** 使用ServletActionContext類獲取

  - 屬性封裝

  - 模型驅動(重點)

  - 表達式封裝

(5)在action操作域對象

  - 使用ServletActionContext獲取域對象

(6)配置struts2的過濾器

2 值棧

(1)向值棧放數據

  - set方法

  - push方法

  - 定義變量,生成get方法

(2)從值棧獲取數據

  - 在jsp中使用struts2標簽+ognl獲取

  - <s:property>

  - <s:iterator>

3 攔截器

(1)aop和責任鏈模式

(2)自定義攔截器

  - 繼承MethodFilterInterceptor

  - 重寫類裏面的方法

  - 配置攔截器和action關聯

Spring框架

1 spring核心配置文件

(1)名稱和位置沒有固定要求

(2)在spring核心配置文件中引入schema約束

2 創建對象

(1)xml配置方式:<bean id=”” class=”” scope=””/>

(2)註解方式:四個註解

3 註入屬性(對象類型屬性)

(1)xml配置方式:

(2)註解方式:兩個註解

    - autowired

    - resource

3 使用ServletContext對象和監聽器實現

(1)在服務器啟動時候,加載spring配置文件,創建對象

(2)配置spring的監聽器

(3)指定spring配置文件位置

4 jdbcTemplate

5 spring事務配置

(1)xml方式

(2)註解方式

SSH框架整合思想

1 三大框架應用在javaee三層結構

技術分享圖片

2 struts2框架和spring整合

(1)struts2的action在spring配置

技術分享圖片

3 spring框架和hibernate框架整合

(1)hibernate的sessionFactory交給spring配置

(2)把hibernate數據庫配置交給spring配置

技術分享圖片

整合struts2和spring框架

1 把struts2的action交給spring管理

2 實現過程

第一步 導入struts2的jar包

(1)導入用於整合的jar包

技術分享圖片

第二步 創建action

第三步 創建struts2核心配置文件,配置action

(1)位置在src下面,名稱是struts.xml

第四步 配置struts2過濾器

第五步 導入spring的jar包

第六步 創建spring配置文件

(1)引入約束

(2)配置spring監聽器

技術分享圖片

(3)指定spring配置文件位置

技術分享圖片

第七步 把action交給spring進行配置(***)

技術分享圖片

(1)在spring配置action對象,在struts.xml中也配置action對象

(2)解決:

只需要在spring裏面配置action對象,不要在struts.xml中配置

技術分享圖片

技術分享圖片

Spring框架整合hibernate框架

1 把hibernate核心配置文件中配置數據庫信息,把數據庫信息在spring進行配置

2 把hibernate裏面的sessionFactory創建交給spring管理

具體實現

第一步 導入hibernate的jar包

(1)導入struts2和hibernate的jar包時候有jar沖突問題

在struts2裏面有jar包

在hibernate裏面有jar包

刪除低版本的jar包

(2)導入spring整合持久化層框架需要導入jar包

技術分享圖片

第二步 搭建hibernate環境搭建

1 創建實體類

2 配置實體類映射關系

3 創建核心配置文件

第三步 把hibernate核心配置文件數據庫配置,在spring進行配置

(1)把hibernate核心文件中數據庫配置去掉了,在spring配置

技術分享圖片

第四步 把hibernate的sessionFactory交給spring配置

(1)服務器啟動時候,加載spring配置文件,把配置文件中對象創建

(2)把sessionFactory對象創建在spring配置

(3)因為創建sessionFactory代碼不是new出來的,而是多行代碼實現的技術分享圖片

(4)spring裏面針對上面情況,封裝類,配置類對象可以創建sessionFactory

技術分享圖片

第五步 在dao裏面使用hibernateTemplate

技術分享圖片

(1)在dao得到hibernateTemplate的對象

技術分享圖片

技術分享圖片

(2)調用hibernate模板裏面save方法添加

技術分享圖片

沒有配置事務,做操作時候,出現異常

技術分享圖片

第六步 配置事務

技術分享圖片

技術分享圖片

HibernateTemplate介紹

1 HibernateTemplate對hibernate框架進行封裝,

直接調用HibernateTemplate裏面的方法實現功能

2 HibernateTemplate常用的方法

  • Serializable save(Object entity) :添加操作
  • void update(Object entity) :修改操作
  • void delete(Object entity) :刪除操作
  • <T> T get(Class<T> entityClass, Serializable id) :根據id查詢
  • <T> T load(Class<T> entityClass, Serializable id): 根據id查詢

技術分享圖片

  • List find(String queryString, Object... values) :查詢操作的方法

技術分享圖片

(1)第一個參數是 hql語句

(2)語句參數值

技術分享圖片

技術分享圖片

再次復習一下SSH框架整合過程:

第一步 導入jar包

第二步 搭建struts2環境

(1)創建action,創建struts.xml配置文件,配置action

(2)配置struts2的過濾器

第三步 搭建hibernate環境

(1)創建實體類

(2)配置實體類和數據庫表映射關系

(3)創建hibernate核心配置文件

- 引入映射配置文件

第四步 搭建spring環境

(1)創建spring核心配置文件

(2)讓spring配置文件在服務器啟動時候加載

- 配置監聽器

- 指定spring配置文件位置

第五步 struts2和spring整合

(1)把action在spring配置(action多實例的)

(2)在struts.xml中action標簽class屬性裏面寫 bean的id值

第六步 spring和hibernate整合

(1)把hibernate核心配置文件中數據庫配置,在spring裏面配置

(2)把hibernate的sessionFactory在spring配置

第七步 在dao裏面使用hibernateTemplate

(1)在dao註入hibernateTemplate對象

(2)在hibernateTemplate對象中註入sessionFactory

第八步 配置事務

整合其他方式

1 spring整合hibernate時候,可以不寫hibernate核心配置文件

(1)把hibernate核心配置文件中,基本信息配置和映射引入都放到spring配置

技術分享圖片

Spring分模塊開發

1 在spring裏面配置多個內容,造成配置混亂,不利用維護

2 把spring核心配置文件中,一部分配置放到單獨的配置文件中,在spring核心配置文件中引入單獨配置文件

技術分享圖片

Spring框架到此暫時告一段落。

Spring框架學習筆記(四)