javascript
Spring 学习04
一、上節內容回顧
1 基于aspectj的注解aop操作
2 spring的jdbcTemplate操作
(1)實現crud操作
- 添加、修改、刪除update方法
- 查詢
-- 查詢某個值 queryForObject
-- 查詢對象queryForObject
-- 查詢list query
?
3 spring配置連接池
(1)配置c3p0連接池
(2)dao注入jdbcTemplate
?
4 spring事務管理
(1)事務概念
(2)spring進行事務管理api
(3)spring進行事務配置
- 基于xml配置文件
- 基于注解方式
二、今天內容介紹
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
?
?
第八步 配置事務
?
?
出現異常時候,
第一行 異常信息
下面 cased by :
八、整合其他方式
1 spring整合hibernate時候,可以不寫hibernate核心配置文件
(1)把hibernate核心配置文件中,基本信息配置和映射引入都放到spring配置
?
?
九、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數據格式
轉載于:https://www.cnblogs.com/pony1223/p/9931800.html
總結
以上是生活随笔為你收集整理的Spring 学习04的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [ ZooKeeper]ZooKeepe
- 下一篇: 微信支付退款结果通知解密 base64_