Spring 學習04

1、上節內容回顧

1 基於aspectj的註解aop操做java

2 spring的jdbcTemplate操做jquery

(1)實現crud操做ajax

- 添加、修改、刪除update方法spring

- 查詢sql

-- 查詢某個值 queryForObject數據庫

-- 查詢對象queryForObjectjson

-- 查詢list queryapi

 

3 spring配置鏈接池服務器

(1)配置c3p0鏈接池session

(2)dao注入jdbcTemplate

 

4 spring事務管理

(1)事務概念

(2)spring進行事務管理api

(3)spring進行事務配置

- 基於xml配置文件

- 基於註解方式

2、今天內容介紹

SSH三大框架整合

(1)struts2

(2)hibernate5.x

(3)spring4.x

3、回顧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配置

4、整合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中配置

 

 

5、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方法添加

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

第六步 配置事務

 

6、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)語句參數值

 

 

 7、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

 

 

第八步 配置事務

 

 

出現異常時候,

第一行 異常信息

下面 cased by :

8、整合其餘方式

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

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

 

 

9、Spring分模塊開發 

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

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

問題:

1 在struts2裏面和hibernate裏面都有jar包

 

 

Jar包衝突問題,刪除其中的一個,刪除低版本的jar包

2 若是把數據庫信息配置在hibernate裏面進行配置

(1)出現異常,事務裏面找不到數據源了

(2)數據庫配置在spring裏面配置

SSH練習功能

1 客戶管理

(1)crud操做

2 聯繫人管理

(1)配置一對多操做

(2)添加聯繫人

- 選擇所屬客戶

- struts2實現文件上傳

(3)聯繫人列表

(4)修改聯繫人

3 客戶拜訪管理

(1)多對多配置拆分紅兩個有對多實現

4 綜合查詢

(1)多條件組合查詢

5 統計分析

(1)hibernateTemplate調用底層sql實現功能

6 其餘知識

(1)svn版本控制工具使用

(2)代碼重構

- baseDao抽取

(3)插件:jquery easyui

- jquery ajax操做

- json數據格式

完成任務

1 搭建ssh整合環境

2 複習知識

(1)jquery ajax操做

(2)json數據格式

相關文章
相關標籤/搜索