spring
spring IOC創建對象的兩種方式
1.創建容器對象
2.在當前包的所在類下找有關bean的配置文件 測試方便
spring主配置文件創建對象的方式
1.調用無參構造器
2.調用帶參構造器
3.用工廠模式創建 工廠裏面分爲靜態方法和非靜態方法
spring給對象屬性賦值依賴注入的方式
1.構造函數賦值
2.set方法注入值
分爲 普通字段賦值和集合屬性賦值(list map property)
di 處理依賴關係
四種方式
最常用的在主配置文件中通過set方法注入,在service接收dao注入值,在controller接收service注入值
內部bean
p名稱空間,給屬性注入值
自動裝配 配置簡單,但維護麻煩
配置方式和註解方式的區別
配置便於維護 但配置太多很繁瑣
註解開發方便簡化配置,但不利於後期維護,如果修改對象創建,關係處理等需要改代碼
Java中的代理 分爲
靜態代理
1.目標對象必須實現接口
2.代理對象要實現和目標對象一樣的接口
動態代理(jdk代理)
目標對象一定要實現接口,代理對象不用實現接口
Cglib代理(spring默認支持) 也叫子類代理
jdk動態代理有一個限制,使用動態代理的對象必須實現接口
如果向代理沒有實現接口類,使用cglib
1.目標對象可以不實現接口
2.目標類不能final 如果final報錯
3.方法是final/static,不會被代理攔截,會直接執行目標對象方法
代理總結
1.目標對象有實現接口,使用jdk動態代理
2.沒有實現接口,使用cglib代理
3.沒有實現接口且爲final,不能進行aop編程,不能生成代理會報錯
spring生成代理對象的過程
1.創建容器對象時,根據切入點表達式攔截的類,生成代理對象
2.目標對象有實現接口,使用jdk動態代理
3.沒有實現接口,使用cglib代理
4.從容器獲取代理後的對象
5.執行代理對象方法,運行時動態植入切面類中的通知
AOP(面向切面編程)是什麼
實現原理就是Java動態代理,但是動態代理必須實現接口,所以spring的aop是用cglib實現的
事務
一組操作的執行單元,相對於數據庫操作來講事務管理的是一組SQL指令(增刪改查)
事務的一致性要求操作必須全部執行成功,出現任何一條SQL語句沒有執行成功,這一組
操作會全部回滾
spring聲明式事務管理,就是粗粒度的事務控制
spring創建SessionFactory的方式
所有配置都在spring中完成
spring對dao操作的支持
spring提供了JDBCTemple模版的工具類,對原始的jdbc操作進行了簡化
---------------------------------------------------------------------------------------------------
mybatis
mybatis操作dao層 直接寫SQL語句 更加靈活
查詢操作:返回單條記錄時,表字段和對應實體屬性命名一致時可以不使用resultMap屬性配置,直接使用resultType="返回的全類名"
查詢操作:返回多條記錄時,返回結果配置的不是集合類型,而是集合元素的類型,參數通過Map等方式進行封裝
mybatis兩種查詢方式
association 用於多對一或一對一
collection 用於一對多或多對多
Mybatis和hibernate一樣,也使用緩存;緩存分爲一級緩存和二級緩存,一級緩存指在SqlSession內;二級緩存能被所有的SqlSession共享
mybatis簡化配置:掃描式加載SQL映射文件
---------------------------------------------------------------------------------------------------
springmvc
配置文件都需要配置什麼
前端過濾器,控制器,視圖解析器,中文亂碼處理
理論知識-SSM知識點
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
【面試】喫透了這些Redis知識點,助你面試通過
刀哥谈Java
2020-06-30 16:37:59
Nginx系列:nginx原理
double_happy111
2020-05-10 23:36:49
Apache工作原理
double_happy111
2020-05-10 23:36:49
MySQL面試重點(一)
double_happy111
2020-04-20 19:34:37
linux的虛擬網絡技術
double_happy111
2020-04-20 19:34:37
MySQL中的“鎖”
double_happy111
2020-04-20 19:34:37
MySQL優化之硬件優化
double_happy111
2020-04-14 07:24:58
MySQL常見故障彙總(一)
double_happy111
2020-04-14 07:24:58
MySQL優化之配置文件
double_happy111
2020-04-14 07:24:58
都說在阿里年薪百萬不難,面試入職阿里需要準備什麼?
刀哥谈Java
2020-02-25 18:02:49
大型互聯網企業Java後端技術面試題總結(含答案)
刀哥谈Java
2020-02-25 18:02:49
Hadoop、Spark、Kafka面試題及答案整理
刀哥谈Java
2020-02-25 18:02:49
3年工作經驗的Java程序員面試經
刀哥谈Java
2020-02-25 18:02:38