Spring Spring中的AOP簡介 原理

2021-09-26 03:01:13 字數 957 閱讀 3026

aop(aspect oriented programming),面向切面程式設計。aop是oop(object oriented programming)物件導向程式設計的延續。

aop是可以通過預編譯方式和執行期動態**的方式在不修改源**的情況下給程式統一新增功能的一種技術。

aop實際上是gof(gang of four,gof設計模式,四人組)的一種延續。設計模式追求的就是呼叫者和被呼叫者之間的解耦。aop也可以說是這種目標的一種實現。

我們知道aop就是動態**的一種實現,aop底層的實現原理是橫向程式設計的一種方式。

我們現在做的一些非業務,如:日誌,事務,安全等都會寫在業務的**中(也即是說,這些非業務類橫切於業務類),但是這些**往往都是重複的,我們在寫這些**的時候往往都是複製貼上,就會很麻煩。aop就實現了將這些非業務的需求和系統的業務需求分開來做。這種解決的方式也稱之為**機制。

在沒有使用aop之前我們都是縱向開發:

現在有了aop思想,aop就是一種橫向的程式設計

1.橫切關注點:

跨越應用程式多個模組的方法或者功能。也就是說,與我們業務邏輯無關的,但是我們也需要關注的部分,比如說:日誌,事務,快取,安全等等…

2.幾個aop的重要概念:

3.通知(advice)型別:

注意:可以將多個通知應用到乙個目標物件上,即可以將多個切面織入到同一目標物件。

Spring Spring中定時器實現

在一些工作需要使用到定時器,spring 很好的整合了定時器的功能!在spring 中使用quartz,本文介紹spring3.0以後自主開發的定時任務工具,spring task,可以將它比作乙個輕量級的quartz,而且使用起來很簡單,除spring相關的包外不需要額外的包,下面介紹兩種方式實現...

Spring Spring開發準備

原始碼,jar檔案 spring framework 3.2.5.release commons logging 1.1.3.jar 日誌 spring beans 3.2.5.release.jar bean節點 spring context 3.2.5.release.jar spring上下文...

Spring《Spring與Mybatis結合一》

將mybatis與spring結合可以把service與servlet分離開來 首先導包 第一部分 在之前使用mybatis框架時,需要寫乙個sqlsessionfactory工廠來獲取sqlsession,在工廠裡需要readsource取讀取mybatis.xml配置檔案,其中配置檔案的envi...