日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaEE三大框架ssh

發布時間:2023/12/10 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaEE三大框架ssh 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??JAVA中常說的三大框架指:SSH
即:Spring、Struts、Hibernate?
Spring:功能強大的組件粘合濟,能夠將你的所有的java功能模塊用配置文件的方式組合起來(還讓你感覺不到spring的存在)成為一個完成的應用

Struts:功能強大的MVC架構

Hibernate:強大的ORM工具,然后很方便將數據庫記錄轉化為java的實體實例,將java的實體實例很容易的保存到數據庫中,如果你不需要很復雜的數據庫訪問,利用它你根本就不用了解數據庫的細節


JavaEE三大框架


Hibernate


Hibernate是(orm)對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,Hibernate?是一個開源代碼的對象關系映射框架,是強大的ORM工具,通過mapping的標簽來做文件映射,方便將數據庫記錄轉化為java的實體實例,將java的實體實例很容易的保存到數據庫中。

簡化jdbc操作,可以自動把從數據庫查詢到的結果封裝成對象

基于jdbc的主流持久化框架

優點:優秀的Java?持久化層解決方案?

主流的對象—關系映射工具?

簡化了JDBC?繁瑣的編碼?

將數據庫的連接信息都存放在配置文件

表單的CURD:創建(Create)、更新(Update)、讀取(Read)和刪除(Delete)操作

查詢語言

ps:qbc和本地sql檢索。。。

1、SQL:寫SQL語句,然后通過Hibernate把查詢的數據賦予POJO

(Structured Query Language)結構化查詢語言

2、HQL:面向對象查詢 (推薦用法)

(Hibernate Query Language) hibernate?查詢語言

3、Criteria:更加面向對象的查詢方式

對象狀態

瞬時對象:還沒有與數據庫有任何關聯的對象,這樣的對象稱為瞬時(臨時)對象

持久化對象:瞬時對象一旦與session關聯起來直到session關閉,整個過程中的po對象都稱為持久化對象

脫離(游離)對象:曾經與數據庫有過同步,但是,現在數據庫已經關閉了。而對象還處于內存中,這個處于緩存中的對象稱為脫離對象。

瞬時對象和游離對象區別:一般情況下,瞬時對象無主鍵,脫離對象有主鍵

關系映射

一對多映射?one2many

開發中表與表之間最常見的就是1對多關系,比如一個用戶對應多個地址(用戶表,地址表),一個部門下有多個雇員(dept,emp)

一對一映射?one2one

?唯一主鍵關聯的一對一? 和??外鍵關聯的一對一

連接池?存放連接的池子 提高效率

緩存

Hibenrate的session緩存,稱為一級緩存,不安全,生命周期一般很短,一個sesison對應一個數據庫的一次操作(像JSP中的?request內存)

一級緩存默認開啟,也無法關閉。

Hibernate的SessionFactory緩存,稱為二級緩存,安全,周期長,一個SessionFactory對應一個數據庫,像JSP內置對象的(application


spring框架

  • spring最主要的作用是控制對象的創建,和管理對象與對象間的關系

  • 依賴注入(DI)又稱為控制反轉(IOC),通常來說,當某個角色需要另一個角色才能正常運行時,通常是由調用者來創建被調用者的實例。但是在Spring框架中,創建被調用者的任務交給了Spring框架。

  • 面向切片編程(AOP)是面向對象編程(OOP)的延續,AOP中代碼的編寫順序不再影響代碼的執行順序,目的是解耦業務代碼和公共服務代碼(如日志,安全,事務等)。

  • Spring是一個容器框架,他可以負責產生bean(Java類、JavaBean、Dao.),并維護beanbean之間的關系能夠將你的所有的java功能模塊用配置文件的方式組合起來成為一個完成的應用;spring利用它的IOCAOP來處理控制業務,負責對數據庫的操作。Spring將顯卡和CPU組裝在一起,相當于電腦的一個主板。

  • 一般來說我在開發ssh框架項目的時候使用注解進行依賴注入,

    dao層代碼使用注解@Repository ? ?

    service層使用注解@Service @Transactional ?

    controller層 使用注解@controller

    如果使用的是struts2框架controller還要加注解@scope(" prototype" )

  • 我們注入對象使用@Resource (先按名稱查找,再按類型查找)

    @Autowired (先類型后名稱)


Struts框架

Struts:struts2是個MVC框架

Struts的關鍵是M(MODEL)-V(VIEW)-C(CONTROL)

  • 模型(M):用于封裝與業務邏輯相關的數據和數據處理方法。

  • 視圖(V):用于數據的展現

  • 控制器(C):負責相應請求,協調Model和View


Struts是一個基于Sun J2EE平臺的MVC框架,主要是采用Servlet和JSP技術來實現的。由于Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。


  • struts2是個MVC框架

  • 作用是把前臺(jsp, HTML)提交的表單數據,在控制器接收時進行自動的封裝

  • 主流MVC框架有struts2和spring MVC過時strutsl

  • 效率servlet>springMVC>struts2

    ?(servlet, springMVC是單例模式。struts2不是 單例模式)

  • 核心原理:我們在web項目中定 又一個過濾器,過濾所有請求,請把請求交給StrutsPrepareAndExecuteFilter處理,然后經過多個struts2的默認攔截器, 把數據封裝好過,會進入到action中進行操作

  • struts2默認把封裝求得的數據放在了request對象中,而且struts2默認從控制器跳轉到頁面的方式是轉發

  • struts2的實現新建class,讓他繼承ActionSupport.如果前臺有數據傳過來我們對他進行封裝(private getter處理業務要新建一一個返回值是String的無參方法,在struts. xml中配置這個action和其返回值



總結

以上是生活随笔為你收集整理的JavaEE三大框架ssh的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。