6.11 spring框架
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框架