摘要:上一篇文章我們講解了事務的Advisor是如何注冊進Spring容器的,也講解了Spring是如何將有配置事務的類配置上事務的,實際上也就是用了AOP那一套,也講解了Advisor,pointcut驗證流程,至此,事務的初始化工作都已經完成了,在之后的調用過程,如果代理類的方法被調用,都會調用Bea 閱讀全文
posted @ 2019-10-15 10:45 chen_hao 閱讀 (29) 評論 (0) 編輯
摘要:此篇文章需要有SpringAOP基礎,知道AOP底層原理可以更好的理解Spring的事務處理。 自定義標簽 對于Spring中事務功能的代碼分析,我們首先從配置文件開始人手,在配置文件中有這樣一個配置:<tx:annotation-driven/>。可以說此處配置是事務的開關,如果沒有此處配置,那么 閱讀全文
posted @ 2019-10-14 11:07 chen_hao 閱讀 (237) 評論 (1) 編輯
摘要:面的幾個章節已經分析了spring基于@AspectJ的源碼,那么接下來我們分析一下Aop的另一個重要功能,事物管理。 事務的介紹 1.數據庫事物特性 原子性多個數據庫操作是不可分割的,只有所有的操作都執行成功,事物才能被提交;只要有一個操作執行失敗,那么所有的操作都要回滾,數據庫狀態必須回復到操作 閱讀全文
posted @ 2019-10-12 11:01 chen_hao 閱讀 (275) 評論 (3) 編輯
摘要:上一篇博文中我們講了代理類的生成,這一篇主要講解剩下的部分,當代理類調用時,目標方法和代理方法是如何執行的,我們還是接著上篇的ReflectiveMethodInvocation類Proceed方法來看 我們先來看一張方法調用順序圖 我們看到鏈中的順序是AspectJAfterThrowingAdv 閱讀全文
posted @ 2019-10-11 10:46 chen_hao 閱讀 (252) 評論 (0) 編輯
摘要:在獲取了所有對應bean的增強后,便可以進行代理的創建了。回到AbstractAutoProxyCreator的wrapIfNecessary方法中,如下所示: 我們上一篇文章分析完了第16行,獲取到了所有對應bean的增強器,并獲取到了此目標bean所有匹配的 Advisor,接下來我們要從第17 閱讀全文
posted @ 2019-10-10 10:53 chen_hao 閱讀 (224) 評論 (0) 編輯
摘要:在上一篇的博文中我們講解了通過自定義配置完成了對AnnotationAwareAspectJAutoProxyCreator類型的自動注冊,那么這個類到底做了什么工作來完成AOP的操作呢?首先我們看看AnnotationAwareAspectJAutoProxyCreator的層次結構,如下圖所示: 閱讀全文
posted @ 2019-10-09 11:08 chen_hao 閱讀 (228) 評論 (3) 編輯
摘要:我們知道在面向對象OOP編程存在一些弊端,當需要為多個不具有繼承關系的對象引入同一個公共行為時,例如日志,安全檢測等,我們只有在每個對象里引入公共行為,這樣程序中就產生了大量的重復代碼,所以有了面向對象編程的補充,面向切面編程(AOP),AOP所關注的方向是橫向的,不同于OOP的縱向。接下來我們就詳 閱讀全文
posted @ 2019-09-29 11:04 chen_hao 閱讀 (197) 評論 (0) 編輯
摘要:在之前的博文中我們一直以BeanFactory接口以及它的默認實現類XmlBeanFactory為例進行分析,但是Spring中還提供了另一個接口ApplicationContext,用于擴展BeanFactory中現有的功能。 ApplicationContext和BeanFactory兩者都是用 閱讀全文
posted @ 2019-09-27 15:50 chen_hao 閱讀 (201) 評論 (0) 編輯
摘要:什么是心跳機制? 心跳說的是在客戶端和服務端在互相建立ESTABLISH狀態的時候,如何通過發送一個最簡單的包來保持連接的存活,還有監控另一邊服務的可用性等。 心跳包的作用 保活Q:為什么說心跳機制能保持連接的存活,它是集群中或長連接中最為有效避免網絡中斷的一個重要的保障措施?A:之所以說是“避免網 閱讀全文
posted @ 2019-09-25 15:26 chen_hao 閱讀 (173) 評論 (0) 編輯
摘要:本篇文章主要是介紹使用LengthFieldBasedFrameDecoder解碼器自定義協議。通常,協議的格式如下: LengthFieldBasedFrameDecoder是netty解決拆包粘包問題的一個重要的類,主要結構就是header+body結構。我們只需要傳入正確的參數就可以發送和接收 閱讀全文
posted @ 2019-09-23 11:13 chen_hao 閱讀 (125) 評論 (0) 編輯
ag二分彩