尚矽谷-Spring5架構2020最新版教程(idea版)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 Spring架構概述
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 Spring5入門案例
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 2、打開idea工具,建立普通Java工程
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 3、導入Spring5相關jar包
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 IOC
1.IOC(概念和原理)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 IOC容器本質指的就是工廠
反射:通過得到類的位元組碼檔案(.class),可以操作類中的所有内容
IOC達到的目的:
IOC進一步降低耦合,例如dao中的類路徑發生了變化,不需要在servic類和工廠類中修改,隻需要需改xml檔案中的類路徑屬相
IOC解耦類互相依賴的過程:解析xml配置檔案擷取類的路徑,利用反射從二進制(.class)檔案擷取類的資訊,再通過neInstance和強轉建立類對象
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 2.IOC(BeanFactory接口)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 3.IOC操作Bean管理(概念)
IOC操作的的術語是Bean管理
依賴注入是Ioc的具體實作,屬相注入的時候不再需要自己去new而是有spring建立好,直接去存放bean的容器中擷取(依賴注入)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 原始的java屬相注入方式:set方法注入和構造方法注入
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 IOC操作Bean管理(基于xml方式)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 IOC操作Bean管理(FactoryBean)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 4.IOC操作Bean管理(bean作用域)
bean作用域的作用域是指:建立bean執行個體是單執行個體還是多執行個體
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 添加後置處理器後bean的生命周期會在初始化前後多兩步
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 IOC 操作 Bean 管理(xml 自動裝配)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 IOC 操作 Bean 管理(基于注解方式)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 建立對象注解
Spring 針對 Bean 管理中建立對象提供注解
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 5.基于注解方式實作屬性注入
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 @Autowired 根據屬性類型進行自動裝配
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 @Qualifier:根據名稱進行注入
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 @Resource:可以根據類型注入,可以根據名稱注入
@Resource是java提供的,所有spring 更推薦使用@Autowired [email protected]
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 @Value:注入普通類型屬性
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 6.完全注解開發
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 但是實際開發都是通過Springboot實作完全注解開發
AOP
AOP: 實作了在不改變類中原有代碼的基礎上,來增強類中的方法邏輯
AOP(概念)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 AOP(底層原理)
AOP 底層使用動态代理實作。
代理: 為需要被增強類對象生産一個代理對象,通過這個代理對象添加需要曾加的功能。
AOP 底層使用動态代理
有兩種情況動态代理:
- 第一種 有接口情況,使用 JDK 動态代理
- 第二種 沒有接口情況,使用 CGLIB 動态代理
有接口情況,使用 JDK 動态代理
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
沒有接口情況,使用 CGLIB 動态代理
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 AOP(JDK 動态代理)
Spring已經幫我實作動态代理的實作,我們隻需通過配置或注解及可以直接使用。我們這裡主要學習一下JDK 動态代理實作方式
1、使用 JDK 動态代理,使用 Proxy 類裡面的方法建立代理對象
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 AOP中操作的術語(專業名詞)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 AOP 操作(準備工作)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 AOP 切入點表達式
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 AOP 操作(AspectJ 注解)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 配置不同類型的通知
SpringBoot2.x.x 對應的是Spring5
Spring5 AOP的執行順序
程式執行正常順序
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 程式運作抛出異常:
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 相同的切入點抽取
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 有多個增強類多同一個方法進行增強,設定增強類優先級
使用@Order(1)設定增強類執行的先後順序 @Order(1)中的值越小優先級越高(0-1)
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 JdbcTemplate
1、什麼是 JdbcTemplate
(1)Spring 架構對 JDBC 進行封裝,使用 JdbcTemplate 友善實作對資料庫操作
Spring5 架構新功能
1、整個 Spring5 架構的代碼基于 Java8,運作時相容 JDK9,許多不建議使用的類和方法在代碼庫中删除
Spring 5.0 架構自帶了通用的日志封裝
Spring 5.0 架構自帶了通用的日志封裝但也可以這個和其他日志架構如Log4j2
Spring 5.0不在支援整合Log4j。
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 第二步 建立 log4j2.xml 配置檔案
<?xml version="1.0" encoding="UTF-8"?>
<!--日志級别以及優先級排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE >
ALL -->
<!--Configuration 後面的 status 用于設定 log4j2 自身内部的資訊輸出,可以不設定,
當設定成 trace 時,可以看到 log4j2 内部各種詳細輸出--> <configuration status="INFO">
<!--先定義所有的 appender-->
<appenders>
<!--輸出日志資訊到控制台-->
<console name="Console" target="SYSTEM_OUT">
<!--控制日志輸出的格式-->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-
5level %logger{36} - %msg%n"/>
</console>
</appenders>
<!--然後定義 logger,隻有定義 logger 并引入的 appender,appender 才會生效-->
<!--root:用于指定項目的根日志,如果沒有單獨指定 Logger,則會使用 root 作為
預設的日志輸出-->
<loggers>
<root level="info">
<appender-ref ref="Console"/>
</root>
</loggers>
</configuration>
Spring5 架構核心容器支援@Nullable 注解
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 Spring5 支援整合 JUnit5
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結 總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結
Sping5 尚矽谷 2020Spring架構概述IOCAOPAOP中操作的術語(專業名詞)JdbcTemplateSpring5 架構新功能總結