1. 程式人生 > >6.11 spring框架

6.11 spring框架

statement map集合 CA ont 分享 tro sping jdb 錯誤

spring框架:

  

springmvc框架 只做三件事

  1.過去頁面傳遞給服務器的數據

  2.根據獲取的頁面數據,調用業務方法,處理具體業務

  3.根據業務的返回結果做相應的跳轉工作

springmvc 框架 也只做三件事

  1.獲取頁面的數據(springmvc幫你做了)

  2.調用具體的業務操作(程序員只需要關註具體的業務實現)

  3.根據業務的結果做跳轉(springmvc幫你做了)

mybatis框架:持久層框架

  1.過去連接

  2.寫sql語句

  3.構建PreparedStatement對象

  4.sql語句由?,給?占位符賦值

  5.dml執行executeUpdate(),返回結果是受影響和的行數

  dql執行executeQuery(),返回結果是ResultSet結果集

  6.遍歷結果集,把結果集的數據轉化到集合中

  7.關閉所有的資源(ResultSet,PreparedStatement,Connnection)

mybatis框架:

  程序員只需要提供變化的數據(sql sql語句?號占位符)剩下全部交給

  mybatis操作

結論:學習框架就是提高開發效率

如何學習一個框架

  1.根據需求,在谷歌或百度上搜索能完成此需求的框架

  2.去此框架的官方網站,學習框架的用法

   -從官網尋找直接案例

   -從官網尋找開發文檔

   -從百度或谷歌上搜索博客(csdn,iteye,cnblog等)

學一個框架的demo,框架的細節,一定要讀官網的開發文檔

spring官網:spring.io

spring框架:能夠提高開發效率,能夠做企業應用開發,解耦

  spring frameword包含:

   核心技術:

    IOC(inversion of control 控制反轉)

     DI(dependency injection 依賴註入)

     AOP(面向方面的編程),衍生出spring的聲明式事務管理

  數據訪問:

    spring jdbc

spring IOC 容器:

  IOC控制反轉,把new對象的控制權,轉移到第三方框架spring中,

  由spring框架控制對象的創建和管理

 以前:

  User user=new User();由程序員控制在需要的地方寫此行代碼new對象

  現在用spring框架

   用sping框架控制對象的創建

Spring IOC 第一個案例:

  -創建工程(java)      工程是基礎

  -導入jar包(spring框架)   spring的功能

  -創建一個類         交給spring框架實例化和管理對象

  -創建一個清單文件      清單文件中指明,要管理和實例化哪些的對象--例WEB.xml

  -啟動spring容器        讀取和加載清單文件,根據清單文件內容做實例化

  -從spring容器中取出創建完畢的對象,備用

技術分享圖片

常見錯誤

  有錯誤一定要先看錯誤提示,錯誤提示或多或少會給一些提示

  由Caused by:先找Caused by 從下往上找

  1.文件沒有發現異常,因為spring。XML文件定位有問題

  技術分享圖片

技術分享圖片

總結:

  1.用spring可以做到解耦

    耦合分為三種:

      零耦合,類和類之間不存在任何關系

      抽象耦合:在一個類中耦合了另一個抽象類或接口

      具體耦合:在一個類中耦合了一個具體的實現類

    應該類中示例化對象,但是把控制權反轉給spring容器,

  2.spring原理:spring如何做到解耦的

   能夠做到解耦,是因為出現了一個xml清單文件

   首先spring容器啟動的時候,先讀取和解析xml文件

   並把xml文件的內容存儲到map集合中

   循環遍歷map集合,讀取id的屬性值和class的屬性值

   讀取到class屬性的值會

   Object obj=Class.forName("包名.類名").newInstance();

   然後以ID的值得key,以obj位置,存儲到另一個map集合中

   此時這個map集合就spring的容器集合

   通過id的值去容器中去取屬性值

技術分享圖片

用spring管理和實例化對象的四種方式

  方式一:默認構造函數(最常用)

6.11 spring框架